python绘图用的函数 python绘图的函数库

Python绘图之(1)Turtle库详解

Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。

目前创新互联已为上千的企业提供了网站建设、域名、网站空间、网站改版维护、企业网站设计、都江堰网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

画布就是turtle为我们展开用于绘图区域,我们可以设置它的大小和初始位置。

设置画布大小

turtle.screensize(canvwidth=None, canvheight=None, bg=None),参数分别为画布的宽(单位像素), 高, 背景颜色。

如:turtle.screensize(800,600, "green")

turtle.screensize() #返回默认大小(400, 300)

turtle.setup(width=0.5, height=0.75, startx=None, starty=None),参数:width, height: 输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例,(startx, starty): 这一坐标表示矩形窗口左上角顶点的位置, 如果为空,则窗口位于屏幕中心。

如:turtle.setup(width=0.6,height=0.6)

turtle.setup(width=800,height=800, startx=100, starty=100)

2.1 画笔的状态

在画布上,默认有一个坐标原点为画布中心的坐标轴,坐标原点上有一只面朝x轴正方向小乌龟。这里我们描述小乌龟时使用了两个词语:坐标原点(位置),面朝x轴正方向(方向), turtle绘图中,就是使用位置方向描述小乌龟(画笔)的状态。

2.2 画笔的属性

画笔(画笔的属性,颜色、画线的宽度等)

1) turtle.pensize():设置画笔的宽度;

2) turtle.pencolor():没有参数传入,返回当前画笔颜色,传入参数设置画笔颜色,可以是字符串如"green", "red",也可以是RGB 3元组。

3) turtle.speed(speed):设置画笔移动速度,画笔绘制的速度范围[0,10]整数,数字越大越快。

2.3 绘图命令

操纵海龟绘图有着许多的命令,这些命令可以划分为3种:一种为运动命令,一种为画笔控制命令,还有一种是全局控制命令。

(1) 画笔运动命令

(2) 画笔控制命令

(3) 全局控制命令

(4) 其他命令

3. 命令详解

3.1 turtle.circle(radius, extent=None, steps=None)

描述:以给定半径画圆

参数:

radius(半径):半径为正(负),表示圆心在画笔的左边(右边)画圆;

extent(弧度) (optional);

steps (optional) (做半径为radius的圆的内切正多边形,多边形边数为steps)。

举例:

circle(50) # 整圆;

circle(50,steps=3) # 三角形;

circle(120, 180) # 半圆

实例:

1、太阳花

2、五角星

3、时钟程序

python中plt.post是什么函数

2018-05-04 11:11:36

122点赞

qiurisiyu2016

码龄7年

关注

matplotlib

1、plt.plot(x,y)

plt.plot(x,y,format_string,**kwargs) 

x轴数据,y轴数据,format_string控制曲线的格式字串 

format_string 由颜色字符,风格字符,和标记字符

import matplotlib.pyplot as plt

plt.plot([1,2,3,6],[4,5,8,1],’g-s’) 

plt.show()

结果

**kwards: 

color 颜色 

linestyle 线条样式 

marker 标记风格 

markerfacecolor 标记颜色 

markersize 标记大小 等等 

plt.plot([5,4,3,2,1])   

plt.show()

结果

plt.plot([20,2,40,6,80])   #缺省x为[0,1,2,3,4,...]

plt.show()

结果

plt.plot()参数设置

Property Value Type

alpha 控制透明度,0为完全透明,1为不透明

animated [True False]

antialiased or aa [True False]

clip_box a matplotlib.transform.Bbox instance

clip_on [True False]

clip_path a Path instance and a Transform instance, a Patch

color or c 颜色设置

contains the hit testing function

dash_capstyle [‘butt’ ‘round’ ‘projecting’]

dash_joinstyle [‘miter’ ‘round’ ‘bevel’]

dashes sequence of on/off ink in points

data 数据(np.array xdata, np.array ydata)

figure 画板对象a matplotlib.figure.Figure instance

label 图示

linestyle or ls 线型风格[‘-’ ‘–’ ‘-.’ ‘:’ ‘steps’ …]

linewidth or lw 宽度float value in points

lod [True False]

marker 数据点的设置[‘+’ ‘,’ ‘.’ ‘1’ ‘2’ ‘3’ ‘4’]

markeredgecolor or mec any matplotlib color

markeredgewidth or mew float value in points

markerfacecolor or mfc any matplotlib color

markersize or ms float

markevery [ None integer (startind, stride) ]

picker used in interactive line selection

pickradius the line pick selection radius

solid_capstyle [‘butt’ ‘round’ ‘projecting’]

solid_joinstyle [‘miter’ ‘round’ ‘bevel’]

transform a matplotlib.transforms.Transform instance

visible [True False]

xdata np.array

ydata np.array

zorder any number

确定x,y值,将其打印出来

x=np.linspace(-1,1,5)

y=2*x+1

plt.plot(x,y)

plt.show()

2、plt.figure()用来画图,自定义画布大小

fig1 = plt.figure(num='fig111111', figsize=(10, 3), dpi=75, facecolor='#FFFFFF', edgecolor='#0000FF')

plt.plot(x,y1)           #在变量fig1后进行plt.plot操作,图形将显示在fig1中

fig2 = plt.figure(num='fig222222', figsize=(6, 3), dpi=75, facecolor='#FFFFFF', edgecolor='#FF0000')

plt.plot(x,y2)           #在变量fig2后进行plt.plot操作,图形将显示在fig2中

plt.show()

plt.close()

结果

fig1 = plt.figure(num='fig111111', figsize=(10, 3), dpi=75, facecolor='#FFFFFF', edgecolor='#0000FF')

plt.plot(x,y1)

plt.plot(x,y2)

fig2 = plt.figure(num='fig222222', figsize=(6, 3), dpi=75, facecolor='#FFFFFF', edgecolor='#FF0000')

plt.show()

plt.close()

结果:

3、plt.subplot(222)

将figure设置的画布大小分成几个部分,参数‘221’表示2(row)x2(colu),即将画布分成2x2,两行两列的4块区域,1表示选择图形输出的区域在第一块,图形输出区域参数必须在“行x列”范围                       ,此处必须在1和2之间选择——如果参数设置为subplot(111),则表示画布整个输出,不分割成小块区域,图形直接输出在整块画布上

plt.subplot(222) 

plt.plot(y,xx)    #在2x2画布中第二块区域输出图形

plt.show()

plt.subplot(223)  #在2x2画布中第三块区域输出图形

plt.plot(y,xx)

plt.subplot(224)  # 在在2x2画布中第四块区域输出图形

plt.plot(y,xx)

4、plt.xlim设置x轴或者y轴刻度范围

plt.xlim(0,1000)  #  设置x轴刻度范围,从0~1000         #lim为极限,范围

plt.ylim(0,20)   # 设置y轴刻度的范围,从0~20

5、plt.xticks():设置x轴刻度的表现方式

fig2 = plt.figure(num='fig222222', figsize=(6, 3), dpi=75, facecolor='#FFFFFF', edgecolor='#FF0000')

plt.plot(x,y2)

plt.xticks(np.linspace(0,1000,15,endpoint=True))  # 设置x轴刻度

plt.yticks(np.linspace(0,20,10,endpoint=True))

结果

6、ax2.set_title('xxx')设置标题,画图

#产生[1,2,3,...,9]的序列

x = np.arange(1,10)

y = x

fig = plt.figure()

ax1 = fig.add_subplot(221)

#设置标题

ax1.set_title('Scatter Plot1')

plt.xlabel('M')

plt.ylabel('N')

ax2 = fig.add_subplot(222)

ax2.set_title('Scatter Plot2clf')

#设置X轴标签

plt.xlabel('X')           #设置X/Y轴标签是在对应的figure后进行操作才对应到该figure

#设置Y轴标签

plt.ylabel('Y')

#画散点图

ax1.scatter(x,y,c = 'r',marker = 'o')          #可以看出画散点图是在对figure进行操作

ax2.scatter(x,y,c = 'b',marker = 'x')

#设置图标

plt.legend('show picture x1 ')

#显示所画的图

plt.show()

结果

7、plt.hist()绘制直方图(可以将高斯函数这些画出来)

绘图都可以调用matplotlib.pyplot库来进行,其中的hist函数可以直接绘制直方图

调用方式:

n, bins, patches = plt.hist(arr, bins=10, normed=0, facecolor='black', edgecolor='black',alpha=1,histtype='bar')

hist的参数非常多,但常用的就这六个,只有第一个是必须的,后面四个可选

arr: 需要计算直方图的一维数组

bins: 直方图的柱数,可选项,默认为10

normed: 是否将得到的直方图向量归一化。默认为0

facecolor: 直方图颜色

edgecolor: 直方图边框颜色

alpha: 透明度

histtype: 直方图类型,‘bar’, ‘barstacked’, ‘step’, ‘stepfilled’

返回值 :

n: 直方图向量,是否归一化由参数normed设定

bins: 返回各个bin的区间范围

patches: 返回每个bin里面包含的数据,是一个list

from skimage import data

import matplotlib.pyplot as plt

img=data.camera()

plt.figure("hist")

arr=img.flatten()

n, bins, patches = plt.hist(arr, bins=256, normed=1,edgecolor='None',facecolor='red')  

plt.show()

例:

mu, sigma = 0, .1

s = np.random.normal(loc=mu, scale=sigma, size=1000)

a,b,c = plt.hist(s, bins=3)

print("a: ",a)

print("b: ",b)

print("c: ",c)

plt.show()

结果:

a:  [ 85. 720. 195.]         #每个柱子的值

b:  [-0.36109509 -0.1357318   0.08963149  0.31499478]   #每个柱的区间范围

c:  a list of 3 Patch objects       #总共多少柱子

8、ax1.scatter(x,y,c = 'r',marker = 'o') 

使用注意:确定了figure就一定要确定象限,然后用scatter,或者不确定象限,直接使用plt.scatter

x = np.arange(1,10)

y = x

fig = plt.figure()

a=plt.subplot()            #默认为一个象限

# a=fig.add_subplot(222)

a.scatter(x,y,c='r',marker='o')

plt.show()

结果

x = np.arange(1,10)

y = x

plt.scatter(x,y,c='r',marker='o')

plt.show()

结果

import numpy as np

import matplotlib.pyplot as plt

x = np.arange(1,10)

y = x

plt.figure()

plt.scatter(x,y,c='r',marker='o')

plt.show()

结果

文章知识点与官方知识档案匹配

Python入门技能树基础语法函数

211242 人正在系统学习中

打开CSDN APP,看更多技术内容

plt的一些函数的使用_班花i的博客_plt函数

plt.函数 Fwuyi的博客 6513 1plt.figure( )函数:创建画布 2plt.plot(x, y, format_string, label="图例名"):绘制点和线, 并控制样式。 其中x是x轴数据,y是y轴数据,xy一般是列表和数组。format_string 是字符串的格式包括线...

继续访问

Python的数据科学函数包(三)——matplotlib(plt)_hxxjxw的博客...

import matplotlib.pyplot as plt plt.imshow(img) plt.show() plt.imshow()有一个cmap参数,即指定颜色映射规则。默认的cmap即颜料板是十色环 哪怕是单通道图,值在0-1之间,用plt.imshow()仍然可以显示彩色图,就是因为颜色映射的关...

继续访问

对Python中plt的画图函数详解

今天小编就为大家分享一篇对Python中plt的画图函数详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

plt.plot()函数详解

plt.plot()函数详细介绍 plt.plot(x, y, format_string, **kwargs) 参数 说明 x X轴数据,列表或数组,可选 y Y轴数据,列表或数组 format_string 控制曲线的格式字符串,可选 **kwargs 第二组或更多(x,y,format_string),可画多条曲线 format_string 由颜色字符、风格字符、标记字符组成 颜色字符 'b' 蓝色 'm' 洋红色 magenta 'g' 绿色 'y.

继续访问

python图像处理基础知识(plt库函数说明)_小草莓爸爸的博客_p...

1.画图(plt库)1.1 plt.figure(num=’’,figsize=(x, y),dpi= ,facecolor=’’,edgecolor=’’)num:表示整个图标的标题 figsize:表示尺寸 facecolor:表示1.2 plt.plot(x,y,format_string,**kwargs)...

继续访问

plt的一些函数使用_neo3301的博客_plt函数

1、plt.plot(x,y) plt.plot(x,y,format_string,**kwargs) x轴数据,y轴数据,format_string控制曲线的格式字串 format_string 由颜色字符,风格字符,和标记字符 import matplotlib.pyplot as plt ...

继续访问

最新发布 python plt 绘图详解(plt.版本)

python plt绘图详解

继续访问

python图像处理基础知识(plt库函数说明)

import matplotlib.pyplot as plt的一些基础用法,包括直方图

继续访问

plt.subplot() 函数解析_Ensoleile。的博客_plt.subplot

plt.subplot()函数用于直接制定划分方式和位置进行绘图。 函数原型 subplot(nrows, ncols, index, **kwargs),一般我们只用到前三个参数,将整个绘图区域分成 nrows 行和 ncols 列,而 index 用于对子图进行编号。

继续访问

...中plt的画图函数_Ethan的博客的博客_python的plt函数

1、plt.legend plt.legend(loc=0)#显示图例的位置,自适应方式 说明: 'best' : 0, (only implemented for axes legends)(自适应方式) 'upper right' : 1, 'upper left' : 2, 'lower left' : 3, 'lower right' : 4, ...

继续访问

plt.函数

1 plt.figure( ) 函数:创建画布 2 plt.plot(x, y, format_string, label="图例名"):绘制点和线, 并控制样式。 其中x是x轴数据,y是y轴数据,xy一般是列表和数组。format_string 是字符串的格式包括线条颜色、点类型、线类型三个部分。向参数label传入图例名,使用plt.legend( )创建图例。 2.1 画一条含x、y的线条 import matplotlib.pyplot as plt x = [1, 2, 3, 4] y

继续访问

Python深度学习入门之plt画图工具基础使用(注释详细,超级简单)

Python自带的plt是深度学习最常用的库之一,在发表文章时必然得有图作为支撑,plt为深度学习必备技能之一。作为深度学习入门,只需要掌握一些基础画图操作即可,其他等要用到的时候看看函数API就行。 1 导入plt库(名字长,有点难记) import matplotlib.pyplot as plt 先随便画一个图,保存一下试试水: plt.figure(figsize=(12,8), dpi=80) plt.plot([1,2,6,4],[4,5,6,9]) plt.savefig('./plt_pn

继续访问

python画图plt函数学习_dlut_yan的博客_python plt

figure()函数可以帮助我们同时处理生成多个图,而subplot()函数则用来实现,在一个大图中,出现多个小的子图。 处理哪个figure,则选择哪个figure,再进行画图。 参考博客 importmatplotlib.pyplotaspltimportnumpyasnp x=np.arange(-1,1,0.1...

继续访问

plt.plot()函数_安之若醇的博客_plt.plot()函数

plt.plot()函数是matplotlib.pyplot用于画图的函数传一个值列表:import numpy as npimport matplotlib.pyplot as pltt=[1,2,3,4,5]y=[3,4,5,6,7]plt.plot(t, y)当x省略的时候,默认[0,1…,N-1]递增可以传元组也可以传...

继续访问

python画图plt函数学习

python中的绘图工具 :matplotli,专门用于画图。 一. 安装与导入 工具包安装:conda install matplotli 导入:import matplotlib.pyplot as plt 画图主要有:列表绘图;多图绘图;数组绘图 二. 列表绘图 1. 基础绘图:plt.plot;plt.show import matplotlib.pyplot as plt x = [1, 2, 3, 4] y = [1, 4, 9, 16] plt.plot(x, y) plt.show()

继续访问

python中plt的含义_对Python中plt的画图函数详解

1、plt.legendplt.legend(loc=0)#显示图例的位置,自适应方式说明:'best' : 0, (only implemented for axes legends)(自适应方式)'upper right' : 1,'upper left' : 2,'lower left' : 3,'lower right' : 4,'right' : 5,'cent...

继续访问

Python中plt绘图包的基本使用方法

其中,前两个输入参数表示x轴和y轴的坐标,plot函数将提供的坐标点连接,即成为要绘制的各式线型。常用的参数中,figsize需要一个元组值,表示空白画布的横纵坐标比;plt.xticks()和plt.yticks()函数用于设置坐标轴的步长和刻度。plt.xlabel()、plt.ylabel()和plt.title()函数分别用于设置x坐标轴、y坐标轴和图标的标题信息。的数据处理时,发现了自己对plt的了解和使用的缺失,因此进行一定的基础用法的学习,方便之后自己的使用,而不需要频繁的查阅资料。...

继续访问

python-plt.xticks与plt.yticks

栗子: plt.figure(figsize=(10, 10)) for i in range(25): plt.subplot(5, 5, i+1) plt.xticks([]) plt.yticks([]) plt.grid(False) plt.imshow(train_images[i], cmap=plt.cm.binary) plt.xlabel(class_names[train_labels[i]]) plt.show() 设置x或y轴对应显

继续访问

plt绘图总结

matplotlib绘图

继续访问

Python的数据科学函数包(三)——matplotlib(plt)

继续访问

热门推荐 python plt 画图

使用csv数据文件在百度网盘 import pandas as pd unrate = pd.read_csv('unrate.csv') # pd.to_datetime() 转换成日期格式,即由 1948/1/1 转换为 1948-01-01 unrate['DATE'] = pd.to_datetime(unrate['DATE']) print(unrate.head(12)) ...

继续访问

python数据可视化实现步骤,Python数据可视化图实现过程详解

Python数据可视化图实现过程详解更多python视频教程请到菜鸟教程画分布图代码示例:# encoding=utf-8import matplotlib.pyplot as pltfrom pylab import * # 支持中文mpl.rcParams[‘font.sans-serif’] = [‘SimHei’]‘mention...

继续访问

matplotlib-plt.plot用法

文章目录 英语好的直接参考这个网站 matplotlib.pyplot.plot(*args, scalex=True, scaley=True, data=None, **kwargs) 将x,y绘制为线条或标记 参数: x, y:数据点的水平/垂直坐标。x值是可选的,默认为range(len(y))。通常,这些参数是 一维数组。它们也可以是标量,也可以是二维的(在这种情况下,列代表单独的数据集)。 这些参数不能作为关键字传递。 fmt:格式字符串,格式字符串只是用于快速设置基本行属性的缩

继续访问

python Plt学习

plt的简单学习

继续访问

plt.show()和plt.imshow()的区别

问题:plt.imshow()无法显示图像 解决方法:添加:plt.show(),即 plt.imshow(image) #image表示待处理的图像 plt.show() 原理:plt.imshow()函数负责对图像进行处理,并显示其格式,而plt.show()则是将plt.imshow()处理后的函数显示出来。 ...

继续访问

python题库刷题网站_python在线刷题网站

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里技术人对外发布原创技术内容的最大平台;社区覆盖了云计算、大数据、人工智能、IoT、云原生、数据库、微服务、安全、开发与运维9大技术领域。","link1":...

继续访问

python xticks_Python Matplotlib.pyplot.yticks()用法及代码示例

Matplotlib是Python中的一个库,它是数字的-NumPy库的数学扩展。 Pyplot是Matplotlib模块的基于状态的接口,该模块提供了MATLAB-like接口。Matplotlib.pyplot.yticks()函数matplotlib库的pyplot模块中的annotate()函数用于获取和设置y轴的当前刻度位置和标签。用法: matplotlib.pyplot.yticks...

继续访问

python的plt函数_plt.plot画图函数

[‘font.sans-serif’]=[‘SimHei’]plt.rcParams[‘axes.unicode_minus’] = False#设置横纵坐标的名称以及对应字体格式font1 = {‘weight’ : ‘normal’,‘size’ : 15,...

继续访问

plt函数

写评论

7

794

122

python绘图篇

1,xlable,ylable设置x,y轴的标题文字。

2,title设置标题。

3,xlim,ylim设置x,y轴显示范围。

plt.show()显示绘图窗口,通常情况下,show()会阻碍程序运行,带-wthread等参数的环境下,窗口不会关闭。

plt.saveFig()保存图像。

面向对象绘图

1,当前图表和子图可以用gcf(),gca()获得。

subplot()绘制包含多个图表的子图。

configure subplots,可调节子图与图表边框距离。

可以通过修改配置文件更改对象属性。

图标显示中文

1,在程序中直接指定字体。

2, 在程序开始修改配置字典reParams.

3,修改配置文件。

Artist对象

1,图标的绘制领域。

2,如何在FigureCanvas对象上绘图。

3,如何使用Renderer在FigureCanvas对象上绘图。

FigureCanvas和Render处理底层图像操作,Artist处理高层结构。

分为简单对象和容器对象,简单的Aritist是标准的绘图元件,例如Line 2D,Rectangle,Text,AxesImage等,而容器类型包含许多简单的的 Aritist对象,使他们构成一个整体,例如Axis,Axes,Figure等。

直接创建Artist对象进项绘图操作步奏:

1,创建Figure对象(通过figure()函数,会进行许多初始化操作,不建议直接创建。)

2,为Figure对象创建一个或多个Axes对象。

3,调用Axes对象的方法创建各类简单的Artist对象。

Figure容器

如何找到指定的Artist对象。

1,可调用add_subplot()和add_axes()方法向图表添加子图。

2,可使用for循环添加栅格。

3,可通过transform修改坐标原点。

Axes容器

1,patch修改背景。

2,包含坐标轴,坐标网格,刻度标签,坐标轴标题等内容。

3,get_ticklabels(),,get-ticklines获得刻度标签和刻度线。

1,可对曲线进行插值。

2,fill_between()绘制交点。

3,坐标变换。

4,绘制阴影。

5,添加注释。

1,绘制直方图的函数是

2,箱线图(Boxplot)也称箱须图(Box-whisker Plot),是利用数据中的五个统计量:最小值、第一四分位

数、中位数、第三四分位数与最大值来描述数据的一种方法,它可以粗略地看出数据是否具有对称性以及分

布的分散程度等信息,特别可以用于对几个样本的比较。

3,饼图就是把一个圆盘按所需表达变量的观察数划分为若干份,每一份的角度(即面积)等价于每个观察

值的大小。

4,散点图

5,QQ图

低层绘图函数

类似于barplot(),dotchart()和plot()这样的函数采用低层的绘图函数来画线和点,来表达它们在页面上放置的位置以及其他各种特征。

在这一节中,我们会描述一些低层的绘图函数,用户也可以调用这些函数用于绘图。首先我们先讲一下R怎么描述一个页面;然后我们讲怎么在页面上添加点,线和文字;最后讲一下怎么修改一些基本的图形。

绘图区域与边界

R在绘图时,将显示区域划分为几个部分。绘制区域显示了根据数据描绘出来的图像,在此区域内R根据数据选择一个坐标系,通过显示出来的坐标轴可以看到R使用的坐标系。在绘制区域之外是边沿区,从底部开始按顺时针方向分别用数字1到4表示。文字和标签通常显示在边沿区域内,按照从内到外的行数先后显示。

添加对象

在绘制的图像上还可以继续添加若干对象,下面是几个有用的函数,以及对其功能的说明。

•points(x, y, ...),添加点

•lines(x, y, ...),添加线段

•text(x, y, labels, ...),添加文字

•abline(a, b, ...),添加直线y=a+bx

•abline(h=y, ...),添加水平线

•abline(v=x, ...),添加垂直线

•polygon(x, y, ...),添加一个闭合的多边形

•segments(x0, y0, x1, y1, ...),画线段

•arrows(x0, y0, x1, y1, ...),画箭头

•symbols(x, y, ...),添加各种符号

•legend(x, y, legend, ...),添加图列说明

网页题目:python绘图用的函数 python绘图的函数库
路径分享:https://www.cdcxhl.com/article4/doggoie.html

成都网站建设公司_创新互联,为您提供手机网站建设外贸建站云服务器网站设计公司全网营销推广软件开发

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站建设网站维护公司