def showBar2(): brand, xiaoliang = findGoodRate() # 获取柱状图的 xy 坐标的数据 c = ( Bar() ) c = ( Bar(init_opts=opts.InitOpts( width='1200px', height='800px')) .add_xaxis(brand) .add_yaxis("销量", xiaoliang) .set_global_opts(yaxis_opts=opts.AxisOpts(name="销量"), xaxis_opts=opts.AxisOpts(name="品牌", axislabel_opts=opts.LabelOpts(rotate=30)), datazoom_opts=opts.DataZoomOpts(type_='slider', range_start=0, range_end=30)) ) return c
时间: 2023-11-12 07:03:38 浏览: 72
这是一个 Python 函数,用于生成柱状图。函数中调用了 `findGoodRate()` 函数来获取柱状图的 x 和 y 坐标数据,然后使用 `Bar()` 类创建一个柱状图对象,使用 `add_xaxis()` 方法设置 x 轴数据,使用 `add_yaxis()` 方法设置 y 轴数据,使用 `set_global_opts()` 方法设置全局选项,例如设置 y 轴名称、x 轴名称、x 轴标签旋转角度和数据缩放选项。最后返回柱状图对象。
相关问题
data = data.iloc[:10, :]改成取后10行
要取后10行数据,可以使用 `data.iloc[-10:, :]`,其中 `-10:` 表示从倒数第10行开始,一直到最后一行。完整的代码如下:
```
select_sqli ="SELECT time,SUM(CASE WHEN type_c='两厢车' THEN xiaoliang ELSE 0 END)/SUM(xiaoliang) AS ratio,1 - SUM(CASE WHEN type_c='两厢车' THEN xiaoliang ELSE 0 END)/SUM(xiaoliang) AS ratio_complement FROM sheji.sale GROUP BY time;"
cur.execute(select_sqli)
data = pd.DataFrame(cur.fetchall(), columns=['time', 'portion','r_portion'])
data = data.set_index('time')
data = data.sort_index(ascending=False)
data = data.iloc[-10:, :] # 取后10行数据
plt.figure(figsize=(9.42,1))
data.plot(kind='bar', stacked=True, x='time')
plt.title('Sales Ratio of Different Categories')
plt.xlabel('Category')
plt.ylabel('Ratio')
plt.xticks(rotation=90)
plt.savefig('portion.png',dpi=300)
pix = QPixmap("portion.png")
new_width = self.Market.label_4.width()
new_height = int(pix.height() * new_width / pix.width())
scaled_pixmap = pix.scaled(QSize(new_width, new_height), Qt.AspectRatioMode.KeepAspectRatio,Qt.TransformationMode.SmoothTransformation)
self.Market.label_4.setPixmap(scaled_pixmap)
plt.close()
```
这样就可以取后10行数据了。
plt.figure() plt.plot(data.index, data['xiaoliang']) plt.xlabel('日期', fontproperties=font) # 设置x轴标签字体 plt.ylabel('销量', fontproperties=font) # 设置y轴标签字体 plt.title('销量变化', fontproperties=font) # 设置标题字体 plt.savefig('total.png',dpi=300)设置这个图片的大小
你可以在plt.figure()中添加figsize参数来设置图片的大小,例如:
```
plt.figure(figsize=(8,6))
```
这将创建一个宽度为8英寸,高度为6英寸的图片。你也可以根据需要调整这些数字。
阅读全文