Python的散點(diǎn)圖竟然能畫這么好看
你以為的散點(diǎn)圖長這樣:

其實(shí)散點(diǎn)圖還可以長這樣:

氣泡圖

大雁南飛圖
看起來是不是即高大上又美觀,下面就帶著大家一起學(xué)習(xí)一下如何用pyecharts畫出漂亮的散點(diǎn)圖
一、最基本的散點(diǎn)圖
- from pyecharts import options as opts
- from pyecharts.charts import Scatter
- x=['一月','二月','三月','四月','五月','六月','七月','八月','九月']
- y=[8,5,3,4,8,2,2,5,1]
- c = ( Scatter() .add_xaxis(x) .add_yaxis("", y)
- .set_global_opts(title_opts=opts.TitleOpts(title="base")
- ))c.render_notebook()
這就是最基本的散點(diǎn)圖,只需輸入橫、縱兩個(gè)列表即可輸出圖形
二、顯示分割線的散點(diǎn)圖
- from pyecharts import options as opts
- from pyecharts.charts import Scatter
- x=['一月','二月','三月','四月','五月','六月','七月','八月','九月']
- y=[8,5,3,4,8,2,2,5,1]
- c = ( Scatter() .add_xaxis(x) .add_yaxis("", y)
- .set_global_opts( title_opts=opts.TitleOpts(title="base"),
- xaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),
- yaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True))
- ))c.render_notebook()
可以根據(jù)自己的需要設(shè)置橫縱分割線
三、設(shè)置多維度數(shù)據(jù)
- from pyecharts import options as opts
- from pyecharts.charts import Scatter
- from pyecharts.commons.utils import JsCode
- x=['一月','二月','三月','四月','五月','六月','七月','八月','九月']
- y=[8,5,3,4,8,2,2,5,1]
- c = ( Scatter() .add_xaxis(x) .add_yaxis("",
- y, label_opts=opts.LabelOpts( formatter=JsCode( "function(params){return params.value[1] +' : '+ params.name;}"
- ) ),) .set_global_opts( title_opts=opts.TitleOpts(title="Scatter-多維度數(shù)據(jù)"),
- visualmap_opts=opts.VisualMapOpts( type_="color", max_=8, dimension=1
- ), ))c.render_notebook()
主要是通過插入js代碼的方式來實(shí)現(xiàn)
四、氣泡圖
把點(diǎn)狀圖分段,設(shè)置不同的顏色,并設(shè)置點(diǎn)的半徑隨著數(shù)據(jù)的變化而變化,散點(diǎn)圖就變成了氣泡圖
- from pyecharts import options as opts
- from pyecharts.charts import Scatter
- x=['一月','二月','三月','四月','五月','六月','七月','八月','九月']
- y=[8,5,3,4,8,2,2,5,1]
- c = ( Scatter() .add_xaxis(x) .add_yaxis("", y)
- .set_global_opts( title_opts=opts.TitleOpts(title="氣泡圖"),
- visualmap_opts=opts.VisualMapOpts( range_opacity=0.45,
- type_="size",
- max_=10,
- is_piecewise=True,
- dimension=0,
- pieces=[ {"lte": 2, "color": "green"},
- {"gt": 2, "lte": 4, "color": "red"},
- {"gt": 4, "lte": 6, "color": "yellow"},
- {"gt": 6, "lte": 8, "color": "red"},
- {"gt": 8, "color": "green"},
- ], pos_right=0,
- pos_bottom=100)
- ))c.render_notebook()
參數(shù)介紹:
- range_opacity:設(shè)置透明度type:size,用形狀大小代表數(shù)據(jù)大小
- is_piecewise:是否分段pieces:具體分段范圍
五、設(shè)置散點(diǎn)的形狀、大小和顏色
通過改變散點(diǎn)的形狀、大小和顏色,可以把散點(diǎn)圖畫的像大雁南飛一樣
- from pyecharts import options as opts
- from pyecharts.charts import Scatter
- x=['一月','二月','三月','四月','五月','六月','七月','八月','九月']
- y=[8,5,3,4,8,2,2,5,1]
- c = ( Scatter() .add_xaxis(x) .add_yaxis(series_name="",
- y_axis=y, symbol='arrow',
- symbol_size=[40,20],
- symbol_rotate=-45)
- .set_global_opts( title_opts=opts.TitleOpts(title="base"),
- visualmap_opts=opts.VisualMapOpts(max_=10),
- ))c.render_notebook()關(guān)鍵參數(shù):symbol:設(shè)置形狀symbol_size:設(shè)置形狀大小ymbol_rotate:設(shè)置形狀角度
關(guān)鍵參數(shù):
- symbol:設(shè)置形狀
- symbol_size:設(shè)置形狀大小
- ymbol_rotate:設(shè)置形狀角度