当前位置: 首页 > news >正文

提供佛山顺德网站设计做家教的网站

提供佛山顺德网站设计,做家教的网站,官网手游,查询网站收录命令是这样的#xff0c;我有一个数组[-4.4, -2.8, -2.6, -2.2, -1.1, 1.1, 1.2, 1.3, 3.6, 6.0, 6.4, 12.3]#xff0c;它需要绘制散点图#xff0c;点的颜色来代表数值大小#xff1b;同时#xff0c;也需要在plottable上作为一列显示#xff0c;同样用颜色来代表数值的大小…是这样的我有一个数组[-4.4, -2.8, -2.6, -2.2, -1.1, 1.1, 1.2, 1.3, 3.6, 6.0, 6.4, 12.3]它需要绘制散点图点的颜色来代表数值大小同时也需要在plottable上作为一列显示同样用颜色来代表数值的大小。 还有两个额外的需求一、不同的数值的颜色要有区分度二、0值需要是白色正值为暖色系负值为冷色系从视觉上明显区分正负值。 一、matplotlib色标的选择 matplotlib官方提供了非常多的色标可供选择可见网址。 按照我的需求我选择了Diverging colormaps中的PiYG。 把色标反过来只需要加 _r。用如下代码查看色标及反过来的色标。 import matplotlib.pyplot as plt import numpy as np gradient np.linspace(0, 1, 256) gradient np.vstack((gradient, gradient)) plt.imshow(gradient, aspectauto, cmapPiYG) plt.show() plt.imshow(gradient, aspectauto, cmapPiYG_r) plt.show()结果如下 二、画散点图 1、直接画图 import matplotlib y [-4.4, -2.8, -2.6, -2.2, -1.1, 1.1, 1.2, 1.3, 3.6, 6.0, 6.4, 12.3] x list(range(len(y))) plt.scatter(x,y,cy,cmap matplotlib.cm.PiYG_r) #绘图 cbar plt.colorbar() #添加色标 cbar.set_label(Value) #添加标签 plt.show() #显示结果为 可以看到白色的大概在4左右。 2、添加norm参数 matplotlib.colors模块提供了多种归一化Normalization的方式在官网搜索结果如下 下面简单介绍一些常用的 Normalize基本的线性归一化类将数据线性映射到指定范围内。 LogNorm对数归一化类将数据进行对数变换后进行线性归一化。 PowerNorm幂归一化类将数据进行幂变换后进行线性归一化。 SymLogNorm对称对数归一化类将数据进行对称对数变换后进行线性归一化。 BoundaryNorm边界归一化类可以将数据映射到离散的颜色值上。 TwoSlopeNorm双斜率归一化类将数据根据两个斜率进行分段线性归一化。 通过查看官网的介绍和例子发现CenteredNorm和TwoSlopeNorm比较符合我的要求。 尝试如下 import matplotlib from matplotlib.colors import TwoSlopeNorm,CenteredNorm y [-4.4, -2.8, -2.6, -2.2, -1.1, 1.1, 1.2, 1.3, 3.6, 6.0, 6.4, 12.3] x list(range(len(y))) # 数据归一化 norm1 TwoSlopeNorm(vminmin(y), vcenter0, vmaxmax(y)) norm2 CenteredNorm() #绘图1 plt.scatter(x,y,cy,cmap matplotlib.cm.PiYG_r,norm norm1) #绘图 cbar plt.colorbar() #添加色标 cbar.set_label(Value) #添加标签 plt.show() #显示 #绘图2 plt.scatter(x,y,cy,cmap matplotlib.cm.PiYG_r,norm norm2) #绘图 cbar plt.colorbar() #添加色标 cbar.set_label(Value) #添加标签 plt.show() #显示结果如下 如图可见两种标准化方法都可以满足0值为白色的要求。但是TwoSlopeNorm的效果更好使得负值区的颜色区分更明显。 三、画表格 plottable的官网 1、普通画表格 from plottable import Table from plottable import ColDef from plottable.cmap import normed_cmap from plottable.cmap import centered_cmap import pandas as pd#准备数据 tabel_data pd.DataFrame() tabel_data[value]y #画表 fig,ax plt.subplots() Table(tabel_data,textprops{ha:center},column_definitions[ColDef(name value,textprops{bbox: {boxstyle: circle, pad: 0.1}}, cmapmatplotlib.cm.PiYG_r),]).autoset_fontcolors(colnames[value]) plt.show()结果如下 可以区分正负值但是正值区和负值区里没有颜色深浅来区分值的大小。 2、加参数 以norm为关键词搜索plottable的官方手册发现它也有标准化方法。但是只有两个。 那么我可以试一下centered_cmap。 from plottable import Table from plottable import ColDef from plottable.cmap import centered_cmap import pandas as pd#准备数据 tabel_data pd.DataFrame() tabel_data[value]y #画表 fig,ax plt.subplots() Table(tabel_data,textprops{ha:center},column_definitions[ColDef(name value,textprops{bbox: {boxstyle: circle, pad: 0.1}}, cmapcentered_cmap(tabel_data[value], cmapmatplotlib.cm.PiYG_r)),]).autoset_fontcolors(colnames[value]) plt.show()结果如下 能够按颜色区分正负值。但是和matplotlib的CenteredNorm方法一样在负值区的颜色区分度不够。 3、增加区分度 在centered_cmap函数中通过num_stds参数调整区分度。当num_stds从默认的2.5调整为1时结果如下 可以发现负值区的区分度增加了然而正值区的区分度减少了。 归根结底是正值区和负值区的数值离散度不同。 所以只要正值区和负值区同步调整而不是分别调整就始终达不到理想的效果。
http://www.zqtcl.cn/news/544869/

相关文章:

  • 个人网站可以做淘宝推广手机版怎么用百度快照
  • 制作网站的公司叫什么外包软件
  • 廊坊企业建站模板邱县手机网站建设
  • 辽宁响应式网站费用建设银行官网app
  • 河北黄骅市网站建设网站外链的优化方法
  • 青岛城阳网站制作网站建设详细步骤
  • 先做网站再付款 怎么回答设计方案步骤
  • 汕头建站模板济南网站建设富库网络
  • 创业网站建设方案项目书手机app设计软件
  • 建设端午节网站的目的主题wordpress语法高亮插件
  • 做网站开发使用百分比的好处深圳建设网站公司简介
  • 行距网站上海专业网站建设机构
  • 闵行手机网站建设鲅鱼圈规划建设局网站
  • 合肥市城乡和建设网站网页设计与网站建设区别
  • 青岛网站建设企业建站北京网站模仿
  • 广州建设网站的公司简介湛江建设厅网站
  • 做网站不赚钱了网站关键词排行查询
  • 印度人通过什么网站做国际贸易三门峡做网站
  • 网站排名快速提升工具招远建网站首选公司
  • 手机网站格式商城网游开发公司
  • 手机怎样创建网站长春网站建设哪家专业
  • 做pop网站定制开发教程
  • 成都响应式网站建报告问题
  • 做设计找素材的+网站有哪些建立平台什么意思
  • 网站设置在哪里找宁德网站建设制作
  • logo网站设计素材品牌高端网站建设公司
  • 芙蓉区乡建设局网站郑州网站建设qicaizz
  • 网站建设的缺陷个人网站制作图片
  • 四川省建设厅注册管理中心网站设计上海2021门票
  • 帝国cms做微网站人力资源公司怎么开