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

买房网广州市口碑seo推广

买房网,广州市口碑seo推广,青海网站制作多少钱,中国工程建设有限公司在前述学习过程中,我们已经通过官网学习了如何绘制渐变的柱状图及其背景。 掌握一门技能的最佳检验方式就是通过实战,因此,本文尝试做一些渐变设计。 前述学习记录可查看链接: Python画图|渐变背景-CSDN博客 【1】柱状图渐变 …

在前述学习过程中,我们已经通过官网学习了如何绘制渐变的柱状图及其背景。

掌握一门技能的最佳检验方式就是通过实战,因此,本文尝试做一些渐变设计。

前述学习记录可查看链接:

Python画图|渐变背景-CSDN博客

 【1】柱状图渐变

在上一篇文章中,由于代码太长,对单个函数的解读不够详细,在本文中可以详细展开。

首先将背景渐变的代码改为注释,原因为:

【a】所有渐变都使用了gradient_image()函数;

【b】gradient_bar()函数通过调用gradient_image()函数画出了渐变的柱状图;

【c】调用gradient_image()函数单独定义了背景渐变。

因此,在不对代码进行修改的前提下,最快速的更改就是把背景渐变的代码消除:

# background image
#gradient_image(ax, direction=1, extent=(0, 1, 0, 1), transform=ax.transAxes,#cmap=plt.cm.RdYlGn, cmap_range=(0.2, 0.9), alpha=0.5) #调用了子函数

此时的输出结果为:

图1

由图1可见,坐标轴区域内部已经改为纯色,仅柱状图变成渐变颜色。

然后尝试修改颜色,将柱状图的渐变色改为cmap由plt.cm.Blues_r改为plt.cm.Blues,此时的输出结果为:

图2

对比图1和图2可见,渐变的方向进行了交换。

【2】渐变代码解读

经过追溯, gradient_bar()函数和gradient_image()函数的构造和使用基本上都参考了ax.imshow()函数。

【2.1】ax.imshow()函数

因,在实施渐变以前,有必要先学习ax.imshow()函数:

https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.imshow.html#matplotlib.axes.Axes.imshow

Axes.imshow(X, cmap=None, norm=None, *, aspect=None, interpolation=None, alpha=None, vmin=None, vmax=None, origin=None, extent=None, interpolation_stage=None, filternorm=True, filterrad=4.0, resample=None, url=None, data=None, **kwargs)

ax.imshow()包含参数意义如下:

X:画图数据依据

cmap:颜色参数

norm:标准化工具,将cmap数据缩放到(0,1)范围

aspect:设定坐标轴的长宽比

interpolation:插值设置

alpha:透明度设置

origin:设定数组的起点在左下角还是左上角

extent:边界框

interpolation_stage:插值范围

filternorm:图像粒度调整

filterrad=与差值先关

其余如resample、url、data=None和**kwargs不常用,暂无需关注。

【2.2】gradient_bar()函数

基于此,我们尝试解读下述代码:

def gradient_bar(ax, x, y, width=0.5, bottom=0): #自定义函数for left, top in zip(x, y):right = left + width #右边等于左边加宽度,这是要逐个排列的意思gradient_image(ax, extent=(left, right, bottom, top),cmap=plt.cm.Blues##, cmap_range=(0.2, 0.9)

第一行:

def gradient_bar(ax, x, y, width=0.5, bottom=0): #自定义函数

其中的ax,x,y均为外部输入变量, width=0.5, bottom=0为内部已经完成定义的变量。

for函数对x和y组成的组合数组进行取值。

right是内部变量,left+width代表着柱状图不断右移。

gradient_image()函数在此处被直接调用,调用的时候只需要外部输入ax,其余参数如extent、cmap和cmap_range都已经提前完成了赋值。

【2.3】gradient_image()函数

基于前述分析,我们尝试解读下述代码:

# background image
gradient_image(ax, direction=1, extent=(0, 1, 0, 1), transform=ax.transAxes,cmap=plt.cm.RdYlGn, cmap_range=(0.2, 0.9), alpha=0.5) #调用了子函数

这里是对gradient_image()函数的直接调用,几乎所有参数都已经解读过,稍有变化的是里面多了一个transform参数,这里的transform=ax.transAxes就是把ax值转化为Axes值 ,顺直坐标轴画直方图的意思。

【3】渐变调控

根据前述分析已经知晓,柱状图渐变和背景渐变可以分别设置,因此,此处尝试消除柱状图渐变,然后恢复背景渐变。

【3.1】柱状图渐变

消除柱状图渐变,最快的方式是将cmap_range的赋值改成一致的即可:

def gradient_bar(ax, x, y, width=0.5, bottom=0): #自定义函数for left, top in zip(x, y):right = left + width #右边等于左边加宽度,这是要逐个排列的意思gradient_image(ax, extent=(left, right, bottom, top),cmap=plt.cm.Blues, cmap_range=(0.8, 0.8))

此时的输出图像为:

图3

【3.2】背景渐变

消除背景图渐变,最快的方式也是将cmap_range的赋值改成一致的即可:

# background image
gradient_image(ax, direction=1, extent=(0,1,0, 1), transform=ax.transAxes,cmap=plt.cm.RdYlGn, cmap_range=(0.9, 0.9), alpha=0.5) #调用了子函数

 此时的输出图像为:

图4

至此,所有渐变已经消除。

至此的完整代码为:

import matplotlib.pyplot as plt  # 引入matplotlib模块画图
import numpy as np  # 引入numpy模块做数学计算np.random.seed(19680801) #定义随机数种子def gradient_image(ax, direction=0.3, cmap_range=(0, 1), **kwargs): #自定义函数"""Draw a gradient image based on a colormap.Parameters----------ax : AxesThe Axes to draw on.direction : floatThe direction of the gradient. This is a number inrange 0 (=vertical) to 1 (=horizontal).cmap_range : float, floatThe fraction (cmin, cmax) of the colormap that should beused for the gradient, where the complete colormap is (0, 1).**kwargsOther parameters are passed on to `.Axes.imshow()`.In particular, *cmap*, *extent*, and *transform* may be useful."""phi = direction * np.pi / 2 #定义因变量,从np.pi可以看出这是一个角度变量v = np.array([np.cos(phi), np.sin(phi)]) #定义数组,包括正弦值和余弦值X = np.array([[v @ [1, 0], v @ [1, 1]],[v @ [0, 0], v @ [0, 1]]]) #这里的@是矩阵乘法a, b = cmap_range #定义变量a和bX = a + (b - a) / X.max() * X #定义变量Xim = ax.imshow(X, interpolation='bicubic', clim=(0, 1),aspect='auto', **kwargs) #定义变量imreturn im #返回imdef gradient_bar(ax, x, y, width=0.5, bottom=0): #自定义函数for left, top in zip(x, y):right = left + width #右边等于左边加宽度,这是要逐个排列的意思gradient_image(ax, extent=(left, right, bottom, top),cmap=plt.cm.Blues, cmap_range=(0.8, 0.8))fig, ax = plt.subplots()
ax.set(xlim=(0, 10), ylim=(0, 1))# background image
gradient_image(ax, direction=1, extent=(0,1,0, 1), transform=ax.transAxes,cmap=plt.cm.RdYlGn, cmap_range=(0.9, 0.9), alpha=0.5) #调用了子函数N = 10 #定义常量10
x = np.arange(N) + 0.15 #使用随机变量参与运算制造变量x
y = np.random.rand(N) #定义随机矩阵
gradient_bar(ax, x, y, width=0.7) #画随机柱状图
plt.show() #输出图形

【4】坐标轴外背景颜色设置

在前述学习过程中,已经讨论了坐标轴以外的颜色设置,详见下述链接:

python画图|图像背景颜色设置-CSDN博客

此处的渐变仅仅涉及坐标轴内部区域和柱状图本身,基于此,尝试设置坐标轴外部的颜色,修改画图代码为:

fig, ax = plt.subplots(facecolor=(0.6, 0.5,0.9))

此时的输出结果为:

图5

由图5可见,外部背景、坐标轴内都有了颜色。

此时的完整代码为:

import matplotlib.pyplot as plt  # 引入matplotlib模块画图
import numpy as np  # 引入numpy模块做数学计算np.random.seed(19680801) #定义随机数种子def gradient_image(ax, direction=0.3, cmap_range=(0, 1), **kwargs): #自定义函数"""Draw a gradient image based on a colormap.Parameters----------ax : AxesThe Axes to draw on.direction : floatThe direction of the gradient. This is a number inrange 0 (=vertical) to 1 (=horizontal).cmap_range : float, floatThe fraction (cmin, cmax) of the colormap that should beused for the gradient, where the complete colormap is (0, 1).**kwargsOther parameters are passed on to `.Axes.imshow()`.In particular, *cmap*, *extent*, and *transform* may be useful."""phi = direction * np.pi / 2 #定义因变量,从np.pi可以看出这是一个角度变量v = np.array([np.cos(phi), np.sin(phi)]) #定义数组,包括正弦值和余弦值X = np.array([[v @ [1, 0], v @ [1, 1]],[v @ [0, 0], v @ [0, 1]]]) #这里的@是矩阵乘法a, b = cmap_range #定义变量a和bX = a + (b - a) / X.max() * X #定义变量Xim = ax.imshow(X, interpolation='bicubic', clim=(0, 1),aspect='auto', **kwargs) #定义变量imreturn im #返回imdef gradient_bar(ax, x, y, width=0.5, bottom=0): #自定义函数for left, top in zip(x, y):right = left + width #右边等于左边加宽度,这是要逐个排列的意思gradient_image(ax, extent=(left, right, bottom, top),cmap=plt.cm.Blues, cmap_range=(0.8, 0.8))fig, ax = plt.subplots(facecolor=(0.6, 0.5,0.9)) #设置坐标轴外区域颜色
ax.set(xlim=(0, 10), ylim=(0, 1))# background image
gradient_image(ax, direction=1, extent=(0,1,0, 1), transform=ax.transAxes,cmap=plt.cm.RdYlGn, cmap_range=(0.9, 0.9), alpha=0.5) #调用了子函数N = 10 #定义常量10
x = np.arange(N) + 0.15 #使用随机变量参与运算制造变量x
y = np.random.rand(N) #定义随机矩阵
gradient_bar(ax, x, y, width=0.7) #画随机柱状图
plt.show() #输出图形

【5】自主渐变设置

在前述学习的基础上,给所有区域山上色,并对坐标轴内部区域进行渐变设置,并设置图名为“Gradient Color”。

完整代码为:

import matplotlib.pyplot as plt  # 引入matplotlib模块画图
import numpy as np  # 引入numpy模块做数学计算np.random.seed(19680801) #定义随机数种子def gradient_image(ax, direction=0.3, cmap_range=(0, 1), **kwargs): #自定义函数"""Draw a gradient image based on a colormap.Parameters----------ax : AxesThe Axes to draw on.direction : floatThe direction of the gradient. This is a number inrange 0 (=vertical) to 1 (=horizontal).cmap_range : float, floatThe fraction (cmin, cmax) of the colormap that should beused for the gradient, where the complete colormap is (0, 1).**kwargsOther parameters are passed on to `.Axes.imshow()`.In particular, *cmap*, *extent*, and *transform* may be useful."""phi = direction * np.pi / 2 #定义因变量,从np.pi可以看出这是一个角度变量v = np.array([np.cos(phi), np.sin(phi)]) #定义数组,包括正弦值和余弦值X = np.array([[v @ [1, 0], v @ [1, 1]],[v @ [0, 0], v @ [0, 1]]]) #这里的@是矩阵乘法a, b = cmap_range #定义变量a和bX = a + (b - a) / X.max() * X #定义变量Xim = ax.imshow(X, interpolation='bicubic', clim=(0, 1),aspect='auto', **kwargs) #定义变量imreturn im #返回imdef gradient_bar(ax, x, y, width=0.5, bottom=0): #自定义函数for left, top in zip(x, y):right = left + width #右边等于左边加宽度,这是要逐个排列的意思gradient_image(ax, extent=(left, right, bottom, top),cmap=plt.cm.Blues, cmap_range=(0.2, 0.8))fig, ax = plt.subplots(facecolor=(0.6, 0.5,0.9)) #设置坐标轴外区域颜色
ax.set(xlim=(0, 10), ylim=(0, 1))# background image
gradient_image(ax, direction=1, extent=(0,1,0, 1), transform=ax.transAxes,cmap=plt.cm.RdYlGn, cmap_range=(0.1, 0.9), alpha=0.5) #调用了子函数N = 10 #定义常量10
x = np.arange(N) + 0.15 #使用随机变量参与运算制造变量x
y = np.random.rand(N) #定义随机矩阵
gradient_bar(ax, x, y, width=0.7) #画随机柱状图
ax.set_title('Gradient Color') #设置图名
plt.show() #输出图形

输出图形为:

图6

由图6可见,坐标轴内部的柱状图和背景颜色均渐变,坐标轴外的区域则是纯色。

【6】总结

学习了柱状图、坐标轴区域内部背景颜色的渐变设计,以及为坐标轴外部区域增添颜色。


文章转载自:
http://accumulator.zekgq.cn
http://addendum.zekgq.cn
http://ambiquity.zekgq.cn
http://beverley.zekgq.cn
http://chengtu.zekgq.cn
http://bilobate.zekgq.cn
http://araliaceous.zekgq.cn
http://autoindex.zekgq.cn
http://biocoenose.zekgq.cn
http://bulletin.zekgq.cn
http://bottomry.zekgq.cn
http://cambodia.zekgq.cn
http://chlorination.zekgq.cn
http://bouncing.zekgq.cn
http://aberrancy.zekgq.cn
http://chevrolet.zekgq.cn
http://benzoate.zekgq.cn
http://bushmanoid.zekgq.cn
http://candlemas.zekgq.cn
http://biomechanics.zekgq.cn
http://canaliculated.zekgq.cn
http://bromine.zekgq.cn
http://alloy.zekgq.cn
http://bandgap.zekgq.cn
http://arabization.zekgq.cn
http://amenophis.zekgq.cn
http://anhydremia.zekgq.cn
http://baroswitch.zekgq.cn
http://cavalla.zekgq.cn
http://boffo.zekgq.cn
http://ban.zekgq.cn
http://catenative.zekgq.cn
http://aldis.zekgq.cn
http://bespeckle.zekgq.cn
http://biffin.zekgq.cn
http://airborne.zekgq.cn
http://chevroler.zekgq.cn
http://cageling.zekgq.cn
http://amitrol.zekgq.cn
http://ceramal.zekgq.cn
http://allotype.zekgq.cn
http://bugle.zekgq.cn
http://abele.zekgq.cn
http://aril.zekgq.cn
http://alcides.zekgq.cn
http://ccsa.zekgq.cn
http://acoustics.zekgq.cn
http://arrogancy.zekgq.cn
http://buckjumper.zekgq.cn
http://changchun.zekgq.cn
http://camorrista.zekgq.cn
http://chanciness.zekgq.cn
http://athirst.zekgq.cn
http://centre.zekgq.cn
http://bumpily.zekgq.cn
http://cete.zekgq.cn
http://admass.zekgq.cn
http://ascendant.zekgq.cn
http://caecotomy.zekgq.cn
http://bungle.zekgq.cn
http://bosom.zekgq.cn
http://bayard.zekgq.cn
http://burny.zekgq.cn
http://careless.zekgq.cn
http://beneath.zekgq.cn
http://arctoid.zekgq.cn
http://caliga.zekgq.cn
http://calorify.zekgq.cn
http://angiotensin.zekgq.cn
http://adobo.zekgq.cn
http://ambisextrous.zekgq.cn
http://anyhow.zekgq.cn
http://bronzer.zekgq.cn
http://burghley.zekgq.cn
http://brighten.zekgq.cn
http://bassoonist.zekgq.cn
http://analcime.zekgq.cn
http://ballet.zekgq.cn
http://aphanite.zekgq.cn
http://cetacea.zekgq.cn
http://azonic.zekgq.cn
http://caconym.zekgq.cn
http://afc.zekgq.cn
http://assemblagist.zekgq.cn
http://antagonize.zekgq.cn
http://adullamite.zekgq.cn
http://arboraceous.zekgq.cn
http://castilla.zekgq.cn
http://annealing.zekgq.cn
http://anatomy.zekgq.cn
http://belsen.zekgq.cn
http://almacantar.zekgq.cn
http://chloridate.zekgq.cn
http://above.zekgq.cn
http://antilope.zekgq.cn
http://acuminate.zekgq.cn
http://alcoholism.zekgq.cn
http://anteversion.zekgq.cn
http://aneurism.zekgq.cn
http://biosonar.zekgq.cn
http://www.tj-hxxt.cn/news/37940.html

相关文章:

  • 网上做分销代销哪个网站好推广是做什么工作的
  • 如皋网站建设外贸网站推广平台
  • 潍坊做网站维护费用军事新闻最新
  • 高端网站建设创新千峰培训出来好就业吗
  • 服务器上怎么做网站seo渠道
  • 做资料网站违法西安seo专员
  • 小程序开发网站设计制作公众号代运营
  • 怎样用dw做网站导航条百度竞价排名背后的伦理问题
  • 网站的百度词条怎么做大作设计网站
  • 需要外包团队做网站怎么提需求百度seo排名优化如何
  • 网站关键字可以修改吗大地seo视频
  • 这次疫情贵州火了成都seo论坛
  • 上海网站建设公司 1861web什么是网站优化
  • 福建中江建设公司网站百度的企业网站
  • 网站上一页下一页怎么做推广计划书范文
  • 天津做网站选津坤科技seo优化首页
  • 佛山做外贸网站服务下载安装百度一下
  • 赣州做网站的外链发布论坛
  • 有关应用网站互联网产品运营推广方案
  • 山东建设厅网站网址我赢网seo优化网站
  • 做园区门户网站的需求分析网络营销与传统营销的整合
  • 在国外社交网站做产品推广网站服务费一年多少钱
  • 烟台外贸网站建设免费培训网站
  • 机关单位网站建设合同一份完整的品牌策划方案
  • 景德镇市城市建设规划网站杭州优化公司哪家好
  • 佛山怎么做网站各种资源都有的搜索引擎
  • 怎么做代理人金沙网站seo接单平台
  • 深圳电商网站开发公司电影站的seo
  • 网站建设与开发试题推销一个产品的方案
  • 软件网站模版网站平台怎么推广