一、简单的柱状图
# 自带数据集 gapminder
data = px.data.gapminder()
data.head()
里面包含各个国家的情况,筛选出加拿大的数据进行画图如下
import plotly.express as px
data_canada = data.query("country == 'Canada'")#获取加拿大的数据
#或者data_canada = data.query("country == 'Canada'")
data_canada.head()
就可以画出简单的柱状图
#简单柱状图
# 柱状图
import plotly.express as px
data_canada = px.data.gapminder().query("country == 'Canada'")
fig = px.bar(
data_canada, # 数据集
x='year', # x轴
y='pop', # y轴
)
fig.show()
年份为x轴,y为人数的柱状图
二、堆叠柱状图
1.长表数据怎么画
获取长表数据
long_df = px.data.medals_long()
long_df.head()
代码如下(示例):
# 堆叠柱状图 (使用长表数据,这种数据excel无法直接绘制堆叠图)
import plotly.express as px
long_df = px.data.medals_long()
fig = px.bar(
long_df, # 数据集
x="nation", # x轴
y="count", # y轴
color="medal", # 图例颜色(这种情况下需要设定该参数根据medal类型才区分,否则同色)
title="堆叠柱状图 Long-Form Input", # 图表标题
)
fig.show()
2.宽表数据怎么画
代码如下(示例):
获取宽表数据
import plotly.express as px
wide_df = px.data.medals_wide()
wide_df.head()
import plotly.express as px
wide_df = px.data.medals_wide()
fig = px.bar(wide_df, x="nation",
y=["gold", "silver", "bronze"],
title="堆叠柱状图 Wide-Form Input")
fig.show()
三、簇状柱状图
用长表画簇状柱形图
import plotly.express as px
long_df = px.data.medals_long()
long_df.head()
fig = px.bar(
long_df,
x="nation",
y="count",
color="medal",
title="簇状柱状图 Long-Form Input",
barmode='group', # barmode 设置为 group则为簇状柱形图,可选 stack(叠加)、group(并列)、overlay(覆盖)、relative(相对)
)
fig.show()
五、条形图
条形图与柱状图的唯一区别:在 Bar 函数中设置orientation=‘h’,其余参数与柱状图相同。
# 在plotly绘图中,条形图与柱状图唯一的区别:在 Bar 函数中设置orientation='h',其余参数与柱状图相同
import plotly.express as px
data = px.data.gapminder()
data_canada = data[data.country == 'Canada']
fig = px.bar(data_canada, y='year', x='pop',
hover_data=['lifeExp', 'gdpPercap'], #鼠标悬浮显示
color='lifeExp', # 指定柱状图颜色根据 lifeExp字段数值大小自动着色
labels={'pop':'population of Canada'}, #y轴名称
height=600, # 图表高度
width=800, # 图表宽度
orientation='h' # 条形图设置参数
)
fig.show()
四、美化
后期更新敬请期待
文章参考:https://mp.weixin.qq.com/s/kVKgH0WFAeWLyHl_ucaDGg