使用pandas / matplotlib使用for循环创建条形图

阿南德

我有以下代码:

def OS_Usage_Zone_Wise(data,zone): 
   data_os = data['os'].value_counts().plot("bar",figsize=(12,4),fontsize=10)
   data_os.set_title("OS usage in "+zone+" region",color='g',fontsize=20)
   data_os.set_xlabel("OS name",color='b',fontsize=20)
   data_os.set_ylabel("use count",color='b',fontsize=20)


zone = ["east","west","south","central"] 
i = 0
data_os = [data_east,data_west,data_south,data_central] 
for data in data_os:
     OS_Usage_Zone_Wise(data,zone[i])
     print("now "+zone[i])
     i = i+1

我正在尝试使用for循环绘制每个区域的图,但其显示的是oly图

对于“中央”区域,我知道这是显示最后一个小节而不显示

之前的方法,有没有办法使用循环绘制所有区域的图形(不要

想要一次又一次地使用相同的代码生成图形)

罗比

您可以使用matplotlib创建单独的轴,然后在不同的轴上绘制每个直方图。这是一些示例代码:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

# Create some dummy data
data = pd.DataFrame()
zones = ["east","west","south","central"]

data['zone']=np.hstack([[zone]*np.random.randint(10,20) for zone in zones])
data['OS Usage']=np.random.random(data.shape[0])

# Now create a figure
fig, axes = plt.subplots(1,4, figsize=(12,3))

# Now plot each zone on a particular axis
for i, zone in enumerate(zones):
    data.loc[data.zone==zone].hist(column='OS Usage',
                                   bins=np.linspace(0,1,10),
                                   ax=axes[i],
                                   sharey=True)
    axes[i].set_title('OS Usage in {0}'.format(zone))
    axes[i].set_xlabel('Value')
    axes[i].set_ylabel('Count')

fig.tight_layout()
fig.show()

产生下图:

在此处输入图片说明

笔记:

  • 您可以使用枚举在区域之间循环,同时生成索引以指定所使用的轴。
  • tight_layout()将确保所有的标签,标题等在图中很好地适应。
  • 通过指定轴,您可以更好地控制它们。

希望这可以帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用阈值线创建matplotlib条形图?

如何使用matplotlib创建堆积条形图?

使用matplotlib的堆积条形图

使用matplotlib的堆积条形图

使用Seaborn创建条形图

使用plotly创建条形图

使用JSP创建条形图

使用子图的Pandas条形图

使用matplotlib和子图绘制多个条形图

是否可以使用 Matplotlib 创建 2 边条形图

使用带有x轴日期且宽度为时间增量的matplotlib创建条形图

使用matplotlib为水平条形图创建替代的y轴标签

尝试使用matplotlib创建条形图时可能基于数据帧的错误

如何使用matplotlib.pyplot在x轴上创建分组的条形图(按月和年),在y轴上创建值的条形图?

如何使用matplotlib / seaborn和pandas数据框创建具有共享x轴的上下条形图

在python中使用plotly创建堆叠图或条形图

使用字典使用matplotlib绘制条形图

使用Matplotlib在python中使用Dictionary的条形图

使用 pandas 的多维列的条形图

如何使用Pandas绘制条形图?

如何使用每个离散值的条形图创建条形图/直方图?

使用XSLT和SVG从XML创建条形图-缩放条形图

如何使用分组条形图创建百分比条形图?

Chart.js:使用叠加和偏移条形图创建条形图

使用pandas和matplotlib绘制叠加图(折线图和条形图)

使用matplotlib条形图设置列的顺序

Python:如何使用matplotlib在python中绘制条形图?

使用matplotlib的长垂直条形图

使用matplotlib在python中绘制漂亮的条形图