ゼファーネットのロゴ

Cutechartsライブラリを使用したPythonでの手作りの視覚化

日付:

この記事は、の一部として公開されました データサイエンスブログソン

Pythonのかわいいチャート
Image1 

概要

かわいいチャート。 かわいいチャートは、チャートにもっと個人的なタッチを与えるのに最適です。 チャートの威圧感を抑えたい場合は、スプーン一杯の甘さを加えてください。かわいいチャートが最適です。

通常のMatplotlibおよびSeabornライブラリとはまったく異なり、手作りのチャートが表示され、チャートにカーソルを合わせると値が表示されます。 ホバリング効果は、かわいいチャートの利点であるMatplotlibチャートにはありません。 かわいいチャートでチャートを作成することは、seabornに比べて少し長くなりますが、標準のmatplotlibライブラリよりもコードの数はさらに少なくなります。

このパッケージを使用して、次の種類のチャートを生成できます。 今のところ、このライブラリはXNUMXつの異なるチャート(棒、円、レーダー、散乱、線)をサポートしています。

かわいいチャートをインストールする

このチャートを作成するには、かわいいチャートライブラリをインストールする必要があります。

!pipインストールcutecharts

ライブラリのインポート

ctcとしてcutecharts.chartsをインポートしますpdとしてパンダをインポートします

データセット

TMBDデータがどのように見えるか見てみましょう。 データには21列あります。

df = pd.read_csv(r'tmdb-movies.csv ')df.head(2)
データセット

データの説明

TMBDのデータはkaggleから取得され、EDAがプロットされていることを確認したい場合は、こちらをご覧ください– https://www.kaggle.com/kashishrastogi/eda-of-tmbd-dataset

  • 人気: 映画の人気を指定する数値
  • 予算: 映画が作られた予算。
  • 収入: 映画によって生み出された世界的な収入。
  • 原題: 翻訳または改作前の映画のタイトル。
  • 出演: 映画で役を演じた俳優名
  • ホームページ: 映画のホームページへのリンク。
  • 取締役: 映画を監督した監督名
  • タイトル: 映画のタイトル。
  • キーワード: 映画に関連するキーワードまたはタグ。
  • 概要: 映画の簡単な説明。
  • ランタイム: 映画の実行時間(分単位)。
  • ジャンル: 映画ドラマ、アクション、コメディ、スリラーなどのジャンル。
  • 芸能事務所: 映画の制作会社。
  • 投票数: 受け取った投票数。
  • 投票平均: 映画が受けた平均評価。

日付時刻

  • リリース日: 映画が公開された日付。
  • 発売年: 映画が公開された年。

データクリーニング

最初にデータをクリーンアップしてから、かわいいグラフを表示します。

機能を適切な日時形式に変更し、人気機能を小数点以下2桁に丸めて、より多くの洞察を得ます。

df ['release_date'] = pd.to_datetime(df ['release_date'])df ['popularity'] = round(df ['popularity']、2)

それほど必要ではない機能の削除

df.drop(['imdb_id'、 'homepage'、 'budget_adj'、 'revenue_adj']、axis = 1、inplace = True)

機能のnan値を欠落した値に置き換える

df ['tagline']。fillna( 'missing'、inplace = True)df ['keywords']。fillna( 'missing'、inplace = True)df ['production_companies']。fillna( 'missing'、inplace = True )df ['cast']。fillna( 'missing'、inplace = True)df ['director']。fillna( 'missing'、inplace = True)df ['genres']。fillna( 'missing'、inplace = True)df ['overview']。fillna( 'missing'、inplace = True)

予算と収益から0の値を削除する

df.drop(df [(df ['budget'] == 0)&(df ['revenue'] == 0)]。index、inplace = True)

これでデータがクリーンになり、さらに移動してかわいいグラフを作成できるようになりました。

かわいいチャートで使用されるパラメーター

必要なグラフ名を割り当てます。たとえば、円グラフが必要な場合は、次のコードを実行します。

チャート= ctc.Pie()

チャートのタイトル、幅、高さを設定するには、を追加する必要があります width, height パラメータでは、例を以下に示します。

chart = ctc.Pie( 'Title'、width = '600px'、height = '300px')

使用するチャートオプションの設定 set_options() 関数、例を以下に示します。

chart.set_options()

使用するxラベルとyラベルのタイトルを設定します x_label, y_label 通過する set_options() 関数の例を以下に示します。

chart.set_options(x_label = 'Xラベル'、y_label = 'Yラベル'、)

最後に、関数を使用してチャートを表示します render_notebook() 例を以下に示します。

chart.render_notebook()

チャートをXNUMXつずつ見ていきましょう。

かわいいチャートを使用した円グラフ

これから作成するチャートはドーナツチャートです。 最高の映画がリリースされた上位5年が表示されます。

df_year = df ['release_year']。value_counts()。reset_index()。sort_values(by = 'index'、ascending = False)[:5] .rename(columns = {'index': 'release_year'、 'release_year' : 'Count'})chart = ctc.Pie( 'Top 5 years'、width = '600px'、height = '300px')chart.set_options(labels = list(df_year ['release_year'])、inner_radius = 0) chart.add_series(list(df_year ['Count']))chart.render_notebook()
円グラフ| PythonのCuteCharts

かわいいチャートを使ったドーナツチャート

これから作成するチャートはドーナツチャートです。 最高の映画がリリースされた上位5年が表示されます。

df_year = df ['release_year']。value_counts()。reset_index()。sort_values(by = 'index'、ascending = False)[:5] .rename(columns = {'index': 'release_year'、 'release_year' : 'Count'})chart = ctc.Pie( 'Top 5 years'、width = '600px'、height = '300px')chart.set_options(labels = list(df_year ['release_year'])、inner_radius = 0.8) chart.add_series(list(df_year ['Count']))chart.render_notebook()
ドーナツグラフ

すべての機能は円グラフで使用したものと同じですが、inner_radiusによってもう0つの追加パラメーターが使用されます。 ドーナツチャートの内側の半径には、1からXNUMXまでの任意の値を指定できます。 デフォルトで凡例が左上隅に表示される場合は、upLeft、upRight、downLeft、downRightなどの凡例値を指定できます。

以下のチャートは、upRightとdownLeftの凡例を示しています。

ドーナツの凡例の位置を変更する| PythonのCuteCharts
ドーナツグラフ

かわいいチャートを使用した棒グラフ

映画のトップジャンルを見てみましょう。

この関数は文字列を分割し、各ジャンルのカウントを返します。

def count_genre(x):data_plot = df [x] .str.cat(sep = '|')data = pd.Series(data_plot.split( '|'))info = data.value_counts(ascending = False)return info

各ジャンルの映画を数える関数を呼び出します。

df_genre_movies = count_genre( 'genres')df_genre_movies = pd.DataFrame(df_genre_movies).reset_index()。rename(columns = {'index': 'Drama'、0: 'Count'})

棒グラフのコード

ここでは、フェイカーライブラリをインポートして、さまざまなバーの色を使用しています。

からcutecharts.fakerimport Faker chart = ctc.Bar( 'Top Movie Geners'、width = '600px'、height = '200px')chart.set_options(labels = list(df_genre_movies ['Drama'] [:7])、 x_label = 'Drama'、y_label = 'Count'、colors = Faker.colors)chart.add_series( 'Geners'、list(df_genre_movies ['Count'] [:7]))chart.render_notebook()
棒グラフ

ここでは、パラメータの色をもうXNUMXつ追加しました。 set_options() ここで、バーに異なる色を明示的に設定できます。

chart = ctc.Bar( 'Top Movie Geners'、width = '600px'、height = '200px')chart.set_options(labels = list(df_genre_movies ['Drama'] [:7])、x_label = 'Drama'、 y_label = 'カウント'、colors = ['#FFF1C9'、 '#F7B7A3'、 '#EA5F89'、 '#9B3192'、 '#57167E'、 '#47B39C'、 '#00529B'])chart.add_series( ' Geners '、list(df_genre_movies [' Count '] [:7]))chart.render_notebook()
オプションを設定する| PythonのCuteCharts

折れ線グラフ かわいいチャートを使用する

何年にもわたってリリースされた映画の数を計算し、20代の映画のみをプロットします。

data = df.groupby( 'release_year')。count()['id']。reset_index()。tail(16)

20代の映画の影響を見つけるための折れ線グラフを作成します。

chart = ctc.Line( "20年代の映画の影響"、width = '700px'、height = '200px')chart.set_options(labels = list(data ['release_year'])、x_label = 'Years' 、y_label = 'Count'、)chart.add_series( 'Years'、list(data ['id']))chart.render_notebook()
折れ線グラフ| PythonのCuteCharts

何年にもわたって映画のリリースは指数関数的に増加しています。

 

散布図 かわいいチャートを使用する

人気と予算の関係を見て、予算が映画の人気よりも多いかどうかを調べましょう。

chart = ctc.Scatter( "予算の高い映画の人気が高いかどうかなどの洞察を得るのに役立ちます"、width = '700px'、height = '200px')chart.set_options(x_label = 'Popularity'、y_label = 'Budget'、 dot_size = 1、colors = ['#47B39C'])chart.add_series( 'Popularity vs Budget'、[(z [0]、z [1])for z in list(zip(df ['popularity']、df ['予算']))])chart.render_notebook()
スキャッター| PythonのCuteCharts

かわいいチャートを使用したレーダーチャート

レーダーチャートは、主に多変量値を表示するために使用されるスパイダーチャートとも呼ばれます。 レーダーチャートでは、機能が日、今週、先週であるコーヒー消費量のダミーデータを取得します。

data = {'Day':['Mon'、 'Tue'、 'Wed'、 'Thu'、 'Fri'、 'Sat'、 'Sun']、 '今週':[12、10、9、9 、10、3、3]、 '先週':[15、12、8、9、11、4、3]} df_coffee = pd.DataFrame(data、columns = ['Day'、 '今週'、 '先週'])

今週と先週のXNUMX日あたりのコーヒー消費量のレーダーチャートを見てみましょう。

chart = ctc.Radar( 'XNUMX日あたりに消費されるコーヒーのカップ')chart.set_options(labels = list(df_coffee ['Day'])、is_show_legend = True、legend_pos = 'upRight')chart.add_series( '今週'、 list(df_coffee ['今週']))chart.add_series( '先週'、list(df_coffee ['先週']))chart.render_notebook()
レーダーチャート

EndNote

Pythonで作成された驚くべき手書きのかわいいチャートを見ました。 このパッケージの制限は、5つのチャートしか提供しないことです。

画像ソース

  1. 画像1:https://unsplash.com/photos/jrh5lAq-mIs

この記事に示されているメディアは、Analytics Vidhyaが所有しておらず、作成者の裁量で使用されています。

PlatoAi。 Web3の再考。 増幅されたデータインテリジェンス。
アクセスするには、ここをクリックしてください。

出典:https://www.analyticsvidhya.com/blog/2021/09/hand-made-visualizations-in-python-using-cutecharts-library/

スポット画像

モバイル

最新のインテリジェンス

スポット画像