(Python读取本地文件、处理数据并进行可视化展现相关资料)

Python读取本地文件

本地文件分多钟、不同的本地文件有不同的读取方法;

Python读取mysql内的数据并处理

在这里插入图片描述
以上是对本地mysql内名为mydatabas数据库中visual_evaprecipition表的相关处理

Python读取Excel内的数据并处理

首先导入xlwt和xlrd库

import openpyxl				#导入库
wb = openpyxl.load_workbook('test_5.xlsx')				#读取本地名为test_5.xlsx的文件
ws = wb.active															#获取活跃sheet页

col_1 = ws['A']																#获取A列
col_2 = ws['C']																#获取Cfor col in col_1:															#获取A列值
   data_1.append(col.value)										
for col in col_2:															#获取C列值
   data_2.append(col.value)
del data_1[0]																#删除第一个元素(标题)
del data_2[0]															
row = ws[6]   																# 获取第6行			
col_range = ws['B:C']													#获取B-C列
row_range = ws[2:6]													#获取2-6for col in col_range: 													# 打印BC两列单元格中的值内容
   for cell in col:
       print(cell.value)

for row in row_range: 													# 打印 2-5行中所有单元格中的值
   for cell in row:
       print(cell.value)

for row in ws.iter_rows(min_row=1, max_row=2, max_col=2): # 打印1-2行,1-2列中的内容
   for cell in row:
       print(cell.value)								

for i in range(len(data_1)):											#获取列表下标可进行相关处理
   if xxxxx																							

Pyecharts可视化

首先导入pyecharts库:pip install pyecharts

pyecharts柱状图

#导入库
from example.commons import Faker
from pyecharts import options as opts
from pyecharts.charts import Bar

bar=(
     Bar(init_opts=opts.InitOpts(theme=ThemeType.INFOGRAPHIC))			#主题
     .add_xaxis(Faker.choose())					#x轴
     .add_yaxis("商家A", Faker.values(), stack="stack1"(堆叠数据))			#y轴
     .add_yaxis("商家B", Faker.values(), stack="stack1"(堆叠数据))			#y轴
     #.reversal_axis()								#翻转xy轴
     #.set_series_opts(label_opts=opts.LabelOpts(position="right"))  #翻转xy轴需要得配置项
    #添加图表指定类型(最大值最小值和平均值)
    #.set_series_opts(
     #       label_opts=opts.LabelOpts(is_show=False),
       #     markpoint_opts=opts.MarkPointOpts(
         #       data=[
           #         opts.MarkPointItem(type_="max", name="最大值"),
             #       opts.MarkPointItem(type_="min", name="最小值"),
               #     opts.MarkPointItem(type_="average", name="平均值"),
                #]
            #),
        #)
      #添加图表水平滑动条
      #.set_global_opts(
           # title_opts=opts.TitleOpts(title="Bar-DataZoom(slider-水平)"),
         #   datazoom_opts=opts.DataZoomOpts(),
       # )
       #添加图表垂直滑动条
      # .set_global_opts(
        #    title_opts=opts.TitleOpts(title="Bar-DataZoom(slider-垂直)"),
          #  datazoom_opts=opts.DataZoomOpts(orient="vertical"),
        #)
        #全部显现x轴文字内容(即倾斜45度)
        # .set_global_opts(title_opts=opts.TitleOpts(title=title, subtitle=subtitle),
        # xaxis_opts=opts.AxisOpts(name_rotate=60,name="123456",axislabel_opts={"rotate":45}))

     .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
     .set_global_opts(title_opts=opts.TitleOpts(title="各地AQI等级"))
    )
    	
bar.render("xxxx.html")					#生成相应的可视化页面

详情参考

pyecharts折线图

#导入库
from example.commons import Faker
from pyecharts import options as opts
from pyecharts.echarts import Line
 
line1=(
   Line() # 生成line类型图表
   .add_xaxis(Faker.choose())  # 添加x轴,Faker.choose()是使用faker的随机数据生成x轴标签
   .add_yaxis('数据1',Faker.values(),is_smooth=True(平滑曲线),
   linestyle_opts=opts.LineStyleOpts(color='green', width=2)(设置颜色宽度))  
   # 添加y轴,Faker.values()是使用faker的随机数据生成y轴数值
   .add_yaxis('数据2',Faker.values(),is_smooth=True(平滑曲线),
    markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_='max')]),(设置标记点)
    markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(type_='average')]),(设置标记线)
   linestyle_opts=opts.LineStyleOpts(color='green', width=2)(设置颜色宽度),
  
    )
   #设置平滑曲线
   # .set_global_opts(title_opts=opts.TitleOpts(title='line smooth'))
   #设置数轴属性
   #.set_global_opts(
    #   title_opts=opts.TitleOpts(title='line 对数轴示例'),
    #   xaxis_opts=opts.AxisOpts(name='x'),# 设置x轴名字属性
    #   yaxis_opts=opts.AxisOpts(
    #       type_='log', # 设置类型
    #       name='y', # 设置y轴名字属性
    #       splitline_opts=opts.SplitLineOpts(is_show=True),# 这里将分割线显示
    #      is_scale=True # 这里范围设置true是显示线的顶端,设置为False的话就只会显示前2个数值
    #     )
    #)
    
   .set_global_opts(title_opts=opts.TitleOpts(title='标题'))
)
line1.render('xxxx') # 生成xxxx的网页文件

#设置项目样式
line10=(
   Line()
   .add_xaxis(xaxis_data=Faker.choose())
   .add_yaxis(
       '数据1',
       Faker.values(),
       symbol='square', # 线数值的标志,也可以为菱形、三角形、矩形等,这是设置为正方形
       symbol_size=15, # 标志大小
       # 设置线样式,颜色color为黑色,宽度width为5,类型为虚线,也可以设置实线、点线等
       linestyle_opts=opts.LineStyleOpts(color='black',width=5,type_='dashed'),
       label_opts=opts.LabelOpts(is_show=False),
       itemstyle_opts=opts.ItemStyleOpts(
           border_width=4,border_color='blue',color='red' # 设置边框标志宽度,边框颜色和边框里面颜色
       )
   )
   .set_global_opts(
       title_opts=opts.TitleOpts(title='Line ItemStyle'),
       xaxis_opts=opts.AxisOpts(type_='category'), # 设置x轴类型为种类
       yaxis_opts=opts.AxisOpts(
           type_='value',
           axistick_opts=opts.AxisTickOpts(is_show=True),
           splitline_opts=opts.SplitLineOpts(is_show=True)
       ),
       tooltip_opts=opts.TooltipOpts(is_show=False)
   )
)
line10.render('xxx.html')

详情参考

pyecharts组合图

Bar+Line双Y轴图

#导入库
from pyecharts.globals import ThemeType
from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.charts import Line

bar = (
       Bar()
       .add_xaxis(data_1)
       .add_yaxis("AQI指数", data_4)
       .extend_axis(
           yaxis=opts.AxisOpts(
               axislabel_opts=opts.LabelOpts(formatter="{value} °C"), interval=5
           )
       )
       .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
       .set_global_opts(
           title_opts=opts.TitleOpts(title="AQI与温度之间的关系"),
       )
   )

line = Line()\
   .add_xaxis(data_1).add_yaxis("最高温", data_2, linestyle_opts=opts.LineStyleOpts(color='green'), yaxis_index=1)\
   .add_yaxis("最低温", data_3, linestyle_opts=opts.LineStyleOpts(color='yellow'), yaxis_index=1)

bar.overlap(line)

bar.render("render_2.html")

详情参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值