鱼C论坛

 找回密码
 立即注册
查看: 1978|回复: 8

matplotlib.pyplot 柱形图报错

[复制链接]
发表于 2021-1-18 15:52:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
lianjia_position = lianjia['位置']
x = lianjia_position.index
y = lianjia_position.values

plt.figure(figsize=(10,5)) #定义画布大小
plt.bar(x,y,color = 'g')

plt.title('爬取的前20个数据的位置分析柱状图',fontsize = 20) #定义图片标题,字体大小为20
plt.xlabel('位置',fontsize = 18) #定义x轴标题,字体大小为18
plt.ylabel('数量',fontsize = 18) #定义y轴标题,字体大小为18

plt.tick_params(labelsize = 14) #设置坐标轴字体大小
plt.xticks(rotation = 90) #将x轴旋转90度显示

#显示网格线
plt.grid()

#用text显示数值
for a,b in zip(x,y):
        plt.text(a,b + 50,'%s' %b,ha = 'center',va = 'bottom',fontsize = 10)



Traceback (most recent call last):
  File "c:/Users/86173/Desktop/CODE/lianjia_analytical.py", line 76, in <module>
    plt.text(a,b + 50,'%s' %b,ha = 'center',va = 'bottom',fontsize = 10)
TypeError: can only concatenate str (not "int") to str
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-18 16:05:04 | 显示全部楼层
发个代码都只发一半,这么节约的么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-18 16:10:44 | 显示全部楼层
qq1151985918 发表于 2021-1-18 16:05
发个代码都只发一半,这么节约的么

前面的应该不会出错,就没发
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-18 16:12:38 | 显示全部楼层
数字和字符串不能用+拼接,把50变成字符串再拼接。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-18 16:13:11 | 显示全部楼层
樊敬礼 发表于 2021-1-18 16:10
前面的应该不会出错,就没发

不会出错我们也不知道前边是啥啊?你让我们瞪眼睛瞪出来问题出在哪儿么?我们也得运行看报错理逻辑啊兄弟
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-18 16:26:16 | 显示全部楼层
qq1151985918 发表于 2021-1-18 16:13
不会出错我们也不知道前边是啥啊?你让我们瞪眼睛瞪出来问题出在哪儿么?我们也得运行看报错理逻辑啊兄弟

import numpy as np #数组运算
import pandas as pd #数据处理
import matplotlib.pyplot as plt #可视化

#matplotlib inline
plt.rcParams['font.sans-serif'] = 'SimHei'   # 使图形中的中文正常编码显示
plt.rcParams['axes.unicode_minus'] = False   # 使坐标轴刻度表签正常显示正负号
lianjia = pd.read_csv(r'C:\Users\86173\Desktop\lianjia.csv',encoding='utf-8-sig')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-18 16:27:38 | 显示全部楼层
樊敬礼 发表于 2021-1-18 16:26
import numpy as np #数组运算
import pandas as pd #数据处理
import matplotlib.pyplot as plt #可视 ...

import numpy as np #数组运算
import pandas as pd #数据处理
import matplotlib.pyplot as plt #可视化

#matplotlib inline
plt.rcParams['font.sans-serif'] = 'SimHei'   # 使图形中的中文正常编码显示
plt.rcParams['axes.unicode_minus'] = False   # 使坐标轴刻度表签正常显示正负号
lianjia = pd.read_csv(r'C:\Users\86173\Desktop\lianjia.csv',encoding='utf-8-sig')

#更改列名
lianjia = lianjia.rename(columns={'name':'名字','price':'总价','area_price':'单价','area':'面积','position':'位置','room_type':'房型'})

#创建关于位置的柱状图
lianjia_position = lianjia['位置']
x = lianjia_position.index
y = lianjia_position.values

plt.figure(figsize=(10,5)) #定义画布大小
plt.bar(x,y,color = 'g')

plt.title('爬取的前20个数据的位置分析柱状图',fontsize = 20) #定义图片标题,字体大小为20
plt.xlabel('位置',fontsize = 18) #定义x轴标题,字体大小为18
plt.ylabel('数量',fontsize = 18) #定义y轴标题,字体大小为18

plt.tick_params(labelsize = 14) #设置坐标轴字体大小
plt.xticks(rotation = 90) #将x轴旋转90度显示

#显示网格线
plt.grid()

#用text显示数值
for a,b in zip(x,y):
        plt.text(a,b + str(50),'%.0f' %b,ha = 'center',va = 'bottom',fontsize = 10)















plt.tight_layout()
plt.show()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-18 16:31:35 | 显示全部楼层
suchocolate 发表于 2021-1-18 16:12
数字和字符串不能用+拼接,把50变成字符串再拼接。

plt.text(a,b + str(50),'%.0f' %b,ha = 'center',va = 'bottom',fontsize = 10)老哥是这样吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-18 18:10:23 | 显示全部楼层
樊敬礼 发表于 2021-1-18 16:31
plt.text(a,b + str(50),'%.0f' %b,ha = 'center',va = 'bottom',fontsize = 10)老哥是这样吗?

对,不过不用str,
plt.text(a, b + '50', '%.0f' % b, ha='center', va='bottom', fontsize= 10)
直接这样:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-16 19:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表