pyecharts没有图像,只有坐标轴(或数据没有对齐)

遇见这种情况,大概率就是你的数据格式不对,比如pyecharts的x轴通常是str,int.
1.完全没有图

from pyecharts import options as opts
import pandas as pd
from pyecharts.charts import Bar
from pyecharts.faker import Faker
df = pd.read_csv(r'D:\qq_record\2019 B\B题\data1.csv')
x_1 = df['CardNo'].values
x_1 = list(map(str,x_1))
y_1 = df['AccessCardNo'].values
y_1 = list(y_1)
c = (
    Bar()
    .add_xaxis(x_1[:2])
    .add_yaxis("商家A", y_1[:2], color='#6950a1')
    .set_global_opts(
        title_opts=opts.TitleOpts(title="Bar"),
        
    )
    
)
c.render_notebook()

在这里插入图片描述改成下面这种

from pyecharts import options as opts
import pandas as pd
from pyecharts.charts import Bar
from pyecharts.faker import Faker
df = pd.read_csv(r'D:\qq_record\2019 B\B题\data1.csv')
x = list(df['CardNo'])
x = list(map(str,x))
y = list(df['AccessCardNo'])
c = (
    Bar()
    .add_xaxis(x)
    .add_yaxis("商家A", y, color='#6950a1')
    .set_global_opts(
        title_opts=opts.TitleOpts(title="Bar"), 
        datazoom_opts=[opts.DataZoomOpts(), opts.DataZoomOpts(type_="inside")],
    )
)
c.render_notebook()

在这里插入图片描述

2.数据不齐。
如果你传入的数据是其他类型,比如datetime64[ns]

from pyecharts import options as opts
import pandas as pd
from pyecharts.charts import Bar
x = pd.date_range(start='2021-11-28',periods=6)
print(x)
y=[3,4,5,2,2,2]
c = (
    Bar()
    .add_xaxis(x)
    .add_yaxis("商家A", y, color='#6950a1')
    .set_global_opts(
        title_opts=opts.TitleOpts(title="Bar"), 
    )
)
c.render_notebook()

在这里插入图片描述3.你直接把二维数据当y轴

y = df['AccessCardNo']

df[‘AccessCardNo’]是二维数据,有索引的。你可能会想那我只取值不就行了,用.values,其实这样也不行。

3.还有一种情况
你使用了.values
3.1对于x轴

x_1 = df['CardNo'].values
print(x_1[:2])

在这里插入图片描述它会生成一种中间没有‘,’分割的列表。这种格式具体是什么我现在还不清楚。但是这样画不出图。
其实处理也很简单

x_1 = list(map(str,x_1))

在这里插入图片描述

3.2对于y轴

y_1 = df['AccessCardNo'].values
print(y_1[:2])

在这里插入图片描述

直接改成

y_1 = list(df['AccessCardNo'])

在这里插入图片描述
注意不能改成

y_1 = list(df['AccessCardNo'].values)   # 错误的方法

这样还是画不出图。虽然都是y_1都是<class ‘list’>类型,但是里面的元素的类型是不一样的

y_1 = list(df['AccessCardNo'].values)
print(type(y_1[0]))

<class ‘numpy.int64’>

y_1 = list(df['AccessCardNo'])
print(type(y_1[0]))

<class ‘int’>







总之一句话,要是没有图形,只有坐标轴,就检测你的数据类型和官网给的例子的数据类型是否相同。

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开始King

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值