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()

pyecharts没有图像,只有坐标轴(或数据没有对齐)_第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 = 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()

pyecharts没有图像,只有坐标轴(或数据没有对齐)_第2张图片

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()

pyecharts没有图像,只有坐标轴(或数据没有对齐)_第3张图片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都是类型,但是里面的元素的类型是不一样的

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

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









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

你可能感兴趣的:(数据分析,python,jupyter,经验分享)