《Python数据可视化之matplotlib实践》 源码 第一篇 入门 第三章
图3.1
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False x=[1,2,3,4,5]
y=[6,10,4,5,1] plt.grid(True, axis='y',ls=':',color='r',alpha=0.3) plt.bar(x,y,align='center', color='b', tick_label=['A','B','C','D','E'],
alpha=0.6, edgecolor="black") plt.xlabel('测试难度')
plt.ylabel('试卷份数') plt.show()
================================================
图3.2
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False x=[1,2,3,4,5]
y=[6,10,4,5,1] plt.grid(True, axis='x',ls=':',color='r',alpha=0.3) plt.barh(x,y,align='center', color='c', tick_label=['A','B','C','D','E'],
alpha=0.6, edgecolor="black") plt.ylabel('测试难度')
plt.xlabel('试卷份数') plt.show()
================================================
图 3.3
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False x=[1,2,3,4,5]
y=[6,10,4,5,1]
y1=[2,6,3,8,5] plt.bar(x,y,align='center',color='#66c2a5', tick_label=['A','B','C','D','E'],
label='班级A', edgecolor='black') plt.bar(x,y1,align='center',color='#8da0cb', bottom=y,
label='班级B', edgecolor='black') plt.xlabel("测试难度")
plt.ylabel("测试份数") plt.legend() plt.show()
================================================
图 3.4
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False x=[1,2,3,4,5]
y=[6,10,4,5,1]
y1=[2,6,3,8,5] plt.barh(x,y,align='center',color='#66c2a5', tick_label=['A','B','C','D','E'],
label='班级A', edgecolor='black') plt.barh(x,y1,align='center',color='#8da0cb', left=y,
label='班级B', edgecolor='black') plt.ylabel("测试难度")
plt.xlabel("测试份数") plt.legend() plt.show()
================================================
图 3.5
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False x=np.array([1,2,3,4,5])
y=[6,10,4,5,1]
y1=[2,6,3,8,5] bar_width=0.35
tick_label=['A','B','C','D','E'] plt.bar(x, y, bar_width, align='center',color='c', label='班级A', alpha=0.5)
plt.bar(x+bar_width,y1,bar_width, align='center',color='b', label='班级B', alpha=0.5) plt.xticks(x+bar_width/2, tick_label) plt.xlabel("测试难度")
plt.ylabel("试卷份数") plt.legend() plt.show()
================================================
图 3.6
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False x=np.array([1,2,3,4,5])
y=[6,10,4,5,1]
y1=[2,6,3,8,5] bar_width=0.35
tick_label=['A','B','C','D','E'] plt.barh(x, y, bar_width, align='center',color='c', label='班级A', alpha=0.5)
plt.barh(x+bar_width,y1,bar_width, align='center',color='b', label='班级B', alpha=0.5) plt.yticks(x+bar_width/2, tick_label) plt.ylabel("测试难度")
plt.xlabel("试卷份数") plt.legend() plt.show()
================================================
图 3.7
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False x=[1,2,3,4,5]
y=[6,10,4,5,1] plt.bar(x,y, align='center', color='c', tick_label=['A','B','C','D','E'],
hatch='///') plt.xlabel("测试难度")
plt.ylabel("试卷份数") plt.show()
================================================
图 3.8
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np x=np.arange(1,6,1)
y=[0,4,3,5,6]
y1=[1,3,4,2,7]
y2=[1,1,1,1,1] labels=['BluePlanet', 'BrownPlanet', 'GreenPlanet']
colors=['#8da0cb','#fc8d62','#66c2a5'] plt.stackplot(x, y, y1, y2, labels=labels, colors=colors) plt.legend(loc='upper left') plt.show()
================================================
图 3.9
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False plt.broken_barh([(30,100),(180,50),(260,70)], (20,8), facecolors='#1f78b4')
plt.broken_barh([(60,90),(190,20),(230,30),(280,60)], (10,8),
facecolors=['#7fc97f','#beaed4','#fdc086','#ffff99']) plt.xticks(np.arange(0,361,60))
plt.yticks([15,25],['歌剧院A','歌剧院B']) plt.xlim(0, 360)
plt.ylim(5, 35) plt.xlabel("演出时间(分)")
plt.grid(ls='-', lw=1, color='gray') plt.title("不同地区的歌剧院的演出时间比较") plt.show()
================================================
图 3.10
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False x=np.linspace(1,10,10)
y=np.sin(x) plt.step(x,y,color='#8dd3c7', where='pre', lw=2) plt.xlim(0, 11)
plt.ylim(-1.2, 1.2) plt.xticks(np.arange(1, 11, 1)) plt.show()
================================================
图 3.11
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False x=np.linspace(1,10,10)
y=np.sin(x) plt.step(x,y,color='#8dd3c7', where='post', lw=2) plt.xlim(0, 11)
plt.ylim(-1.2, 1.2) plt.xticks(np.arange(1, 11, 1)) plt.show()
================================================
图 3.12
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False scoresT=np.random.randint(0,100,100) x=scoresT bins=range(0,101,10) plt.hist(x, bins, color='#377eb8', histtype='bar',rwidth=1.0, edgecolor="black") plt.xlabel("测试成绩")
plt.ylabel("学生人数") plt.show()
================================================
图 3.14
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False scoresT1=np.random.randint(0,100,100)
scoresT2=np.random.randint(0,100,100) x=[scoresT1,scoresT2]
colors=['#8dd3c7','#bebada']
labels=['班级A','班级B'] bins=range(0,101,10) plt.hist(x,bins=bins, color=colors, histtype='bar', edgecolor="black",
rwidth=1.0, stacked=True, label=labels) plt.xlabel("测试成绩(分)")
plt.ylabel("学生人数") plt.title("不同班级的测试成绩直方图") plt.legend(loc="upper left") plt.show()
================================================
图 3.15
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False scoresT1=np.random.randint(0,100,100)
scoresT2=np.random.randint(0,100,100) x=[scoresT1,scoresT2]
colors=['#8dd3c7','#bebada']
labels=['班级A','班级B'] bins=range(0,101,10) plt.hist(x,bins=bins, color=colors, histtype='bar', edgecolor="black",
rwidth=0.8, stacked=False, label=labels) plt.xlabel("测试成绩(分)")
plt.ylabel("学生人数") plt.title("不同班级的测试成绩直方图") plt.legend(loc="upper left") plt.show()
================================================
图 3.16
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False scoresT1=np.random.randint(0,100,100)
scoresT2=np.random.randint(0,100,100) x=[scoresT1,scoresT2]
colors=['#8dd3c7','#bebada']
labels=['班级A','班级B'] bins=range(0,101,10) plt.hist(x, bins=bins, color=colors, histtype='stepfilled', edgecolor="black",
rwidth=1.0, stacked=True, label=labels) plt.xlabel("测试成绩(分)")
plt.ylabel("学生人数") plt.title("不同班级的测试成绩的直方图") plt.legend() plt.show()
================================================
图 3.17
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False labels=['A 难度水平','B 难度水平','C 难度水平','D 难度水平'] students=[0.35, 0.15, 0.2, 0.3] colors=['#377eb8','#4daf4a','#984ea3','#ff7f00'] explode=[0.1, 0.1, 0.1, 0.1] plt.pie(students, explode=explode, labels=labels, autopct="%3.1f%%",
startangle=45, shadow=True, colors=colors) plt.title("选择不同难度测试试卷的学生占比") plt.show()
================================================
图 3.18
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False labels=['A 难度水平','B 难度水平','C 难度水平','D 难度水平'] students=[0.35, 0.15, 0.2, 0.3] colors=['#377eb8','#4daf4a','#984ea3','#ff7f00'] explode=[0.1, 0.1, 0.1, 0.1] #百分比数值pctdistance=0.7, 标签值labeldistance=1.2 以半径长度比例值作为显示依据
plt.pie(students, labels=labels, pctdistance=0.7, labeldistance=1.2,
autopct="%3.1f%%", startangle=45, colors=colors) plt.title("选择不同难度测试试卷的学生占比") plt.show()
================================================
图 3.19
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False elements=['面粉','砂糖','奶油','草莓酱','坚果'] weight1=[40,15,20,10,15]
weight2=[30,25,15,20,10] colormapList=['#e41a1c','#377eb8','#4daf4a','#984ea3','#ff7f00'] outer_colors=colormapList
inner_colors=colormapList wedges1,texts1,autotexts1=plt.pie(weight1,autopct='%3.1f%%',radius=1.0, labels=elements,
pctdistance=0.80,labeldistance=1.1, colors=outer_colors,textprops=dict(color='black'),
wedgeprops=dict(width=0.4, edgecolor='w')) wedges2,texts2,autotexts2=plt.pie(weight2,autopct='%3.1f%%',radius=0.6,
pctdistance=0.65,colors=inner_colors,textprops=dict(color='black'),
wedgeprops=dict(width=0.4, edgecolor='w')) plt.legend(wedges1,elements, fontsize=12, title='配料表', loc="upper right",
bbox_to_anchor=(1.31, 1.0)) #设置百分比数值大小、粗细
plt.setp(autotexts1,size=13,weight='bold')
plt.setp(autotexts2,size=13,weight='bold') #设置标签字体
plt.setp(texts1, size=13)
# plt.setp(texts2,size=12) plt.title("不同果酱面包配料比例表") plt.show()
================================================
图 3.20
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False plt.grid(axis='y', ls=':', lw=1, color='gray', alpha=0.4) testA=np.random.randn(5000)
testB=np.random.randn(5000) testList=[testA, testB]
labels=['随机数生成器AlphaRM','随机数生成器BetaRM']
colors=['#1b9e77','#d95f02'] #四分位间距的倍数,确定箱须包含数据的范围
whis=1.6
#箱体宽度
width=0.35 #patch_artist 是否给箱体加颜色, sym离群点形式
bplot=plt.boxplot(testList, whis=whis, widths=width, sym='o', labels=labels,
patch_artist=True) for patch, color in zip(bplot['boxes'], colors):
patch.set_facecolor(color) plt.ylabel("随机数值")
plt.title("生成器抗干扰能力的稳定性比较") plt.show()
================================================
图 3.21
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False plt.grid(axis='y', ls=':', lw=1, color='gray', alpha=0.4) testA=np.random.randn(5000)
testB=np.random.randn(5000) testList=[testA, testB]
labels=['随机数生成器AlphaRM','随机数生成器BetaRM']
colors=['#1b9e77','#d95f02'] #四分位间距的倍数,确定箱须包含数据的范围
whis=1.6
#箱体宽度
width=0.35 #patch_artist 是否给箱体加颜色, sym离群点形式
bplot=plt.boxplot(testList, whis=whis, widths=width, sym='o', labels=labels,
patch_artist=True, notch=True) for patch, color in zip(bplot['boxes'], colors):
patch.set_facecolor(color) plt.ylabel("随机数值")
plt.title("生成器抗干扰能力的稳定性比较") plt.show()
================================================
图 3.23
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False x=np.random.randn(1000) plt.boxplot(x,vert=False) plt.xlabel("随机数值")
plt.yticks([1],[""], rotation=90)
plt.ylabel('随机数生成器AlphaRM') plt.grid(axis='x',ls=':', lw=1,color='gray', alpha=0.4) plt.title("随机数生成器抗干扰能力的稳定性") plt.show()
================================================
图 3.24
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False x=np.random.randn(1000) plt.boxplot(x, vert=False, showfliers=False) plt.xlabel("随机数值")
plt.yticks([1],[""], rotation=90)
plt.ylabel('随机数生成器AlphaRM') plt.grid(axis='x',ls=':', lw=1,color='gray', alpha=0.4) plt.title("随机数生成器抗干扰能力的稳定性") plt.show()
================================================
图 3.25
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False x=np.linspace(0.1, 0.6, 10)
y=np.exp(x) error=0.05+0.15*x
lower_error=error
upper_error=0.3*x
error_limit=[lower_error, upper_error] plt.errorbar(x, y, yerr=error_limit, fmt=":o",
ecolor='y', elinewidth=4, ms=5,
mfc='c', mec='r', capthick=1, capsize=4) plt.xlim(0, 0.7) plt.show()
================================================
图 3.26
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False x=np.arange(5)
y=[100,68,79,91,82]
std_err=[7,2,6,10,5] error_attri=dict(elinewidth=2, ecolor='black', capsize=3) plt.bar(x, y, color='c',width=0.6, align='center', yerr=std_err,
error_kw=error_attri, tick_label=['园区1', '园区2', '园区3', '园区4', '园区5']) plt.xlabel("芒果种植区")
plt.ylabel("收割量") plt.title("不同芒果种植区的单次收割量") plt.grid(True, axis='y', ls=":", color="gray", alpha=0.2) plt.show()
================================================
图 3.27
import matplotlib
import matplotlib.pyplot as plt
import numpy as np # 设置matplotlib正常显示中文和负号
matplotlib.rcParams['font.sans-serif']=['SimHei'] # 用黑体显示中文
matplotlib.rcParams['axes.unicode_minus']=False # 正常显示负号 x=np.arange(5)
y=[1200, 2400, 1800, 2200, 1600]
std_err=[150,100,180,130,80] bar_width=0.6
colors=['#e41a1c', '#377eb8', '#4daf4a', '#984ea3', '#ff7f00'] plt.barh(x, y, bar_width, color=colors, align='center', xerr=std_err,
tick_label=['家庭', '小说', '心理', '科技', '儿童']) plt.xlabel("订购数量")
plt.ylabel("图书种类") plt.title("大型图书展销会的不同图书种类的采购情况") plt.grid(True, axis='x', ls=':', color='gray', alpha=0.2) plt.xlim(0, 2600) plt.show()
================================================
图 3.28
import matplotlib
import matplotlib.pyplot as plt
import numpy as np # 设置matplotlib正常显示中文和负号
matplotlib.rcParams['font.sans-serif']=['SimHei'] # 用黑体显示中文
matplotlib.rcParams['axes.unicode_minus']=False # 正常显示负号 x=np.arange(5)
y1=[100, 68, 79, 91, 82]
y2=[120, 75, 70, 78, 85]
std_err1=[7, 2, 6, 10, 5]
std_err2=[5, 1, 4, 8, 9] error_attri=dict(elinewidth=2, ecolor='black', capsize=3) bar_width=0.4
tick_label=['园区1', '园区2', '园区3', '园区4', '园区5'] plt.bar(x, y1, bar_width, color='#87CEEB', align='center', yerr=std_err1,
error_kw=error_attri, label='2010') plt.bar(x+bar_width, y2, bar_width, color='#CD5C5C', align='center', yerr=std_err2,
error_kw=error_attri, label='2013') plt.xticks(x+bar_width/2, tick_label)
plt.grid(True, axis='y', ls=':', color='gray', alpha=0.2) plt.legend() plt.xlabel("芒果种植区")
plt.ylabel("收割量") plt.title("不同芒果种植区的单次收割量") plt.grid(True, axis='y', ls=":", color="gray", alpha=0.2) plt.show()
================================================
图 3.29
import matplotlib
import matplotlib.pyplot as plt
import numpy as np # 设置matplotlib正常显示中文和负号
matplotlib.rcParams['font.sans-serif']=['SimHei'] # 用黑体显示中文
matplotlib.rcParams['axes.unicode_minus']=False # 正常显示负号 x=np.arange(5)
y1=[1200, 2400, 1800, 2200, 1600]
y2=[1050, 2100, 1300, 1600, 1340]
std_err1=[150, 100, 180, 130, 80]
std_err2=[120, 110, 170, 150, 120] error_attri=dict(elinewidth=2, ecolor='black', capsize=0) bar_width=0.6
tick_label=['家庭', '小说', '心理', '科技', '儿童'] plt.bar(x, y1, bar_width, color='#6495ED', align='center', yerr=std_err1,
error_kw=error_attri, label='地区1') plt.bar(x, y2, bar_width, bottom=y1, color='#FFA500', align='center', yerr=std_err2,
error_kw=error_attri, label='地区2') plt.xlabel("图书种类")
plt.ylabel("订购数量") plt.xticks(x, tick_label) plt.title("大型图书展销会的不同图书种类的采购情况") plt.grid(True, axis='y', ls=':', color='gray', alpha=0.2) plt.legend() plt.show()
================================================
《Python数据可视化之matplotlib实践》 源码 第一篇 入门 第三章的更多相关文章
- Python数据可视化——使用Matplotlib创建散点图
Python数据可视化——使用Matplotlib创建散点图 2017-12-27 作者:淡水化合物 Matplotlib简述: Matplotlib是一个用于创建出高质量图表的桌面绘图包(主要是2D ...
- python 数据可视化(matplotlib)
matpotlib 官网 :https://matplotlib.org/index.html matplotlib 可视化示例:https://matplotlib.org/gallery/inde ...
- Python数据可视化库-Matplotlib(一)
今天我们来学习一下python的数据可视化库,Matplotlib,是一个Python的2D绘图库 通过这个库,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率图,条形图,错误图,散点图等等 废 ...
- Python数据可视化之Matplotlib实现各种图表
数据分析就是将数据以各种图表的形式展现给领导,供领导做决策用,因此熟练掌握饼图.柱状图.线图等图表制作是一个数据分析师必备的技能.Python有两个比较出色的图表制作框架,分别是Matplotlib和 ...
- 重温《STL源码剖析》笔记 第三章
源码之前,了无秘密. --侯杰 第三章:迭代器概念与traits编程技法 迭代器是一种smart pointer auto_Ptr 是一个用来包装原生指针(native pointer)的对象,声明狼 ...
- Python数据可视化利器Matplotlib,绘图入门篇,Pyplot介绍
Pyplot matplotlib.pyplot是一个命令型函数集合,它可以让我们像使用MATLAB一样使用matplotlib.pyplot中的每一个函数都会对画布图像作出相应的改变,如创建画布.在 ...
- Python数据可视化库-Matplotlib(二)
我们接着上次的继续讲解,先讲一个概念,叫子图的概念. 我们先看一下这段代码 import matplotlib.pyplot as plt fig = plt.figure() ax1 = fig.a ...
- Python数据可视化之matplotlib
常用模块导入 import numpy as np import matplotlib import matplotlib.mlab as mlab import matplotlib.pyplot ...
- python数据可视化(matplotlib)
- STL源码分析读书笔记--第三章--迭代器(iterator)概念与traits编程技法
1.准备知识 typename用法 用法1:等效于模板编程中的class 用法2:用于显式地告诉编译器接下来的名称是类型名,对于这个区分,下面的参考链接中说得好,如果编译器不知道 T::bar 是类型 ...
随机推荐
- INFINI Easysearch 与华为鲲鹏完成产品兼容互认证
何为华为鲲鹏认证 华为鲲鹏认证是华为云围绕鲲鹏云服务(含公有云.私有云.混合云.桌面云)推出的一项合作伙伴计划,旨在为构建持续发展.合作共赢的鲲鹏生态圈,通过整合华为的技术.品牌资源,与合作伙伴共享商 ...
- golang 泛型的格式写法
Go语言中的泛型(Generics)是在 Go 1.18 版本中引入的一个重要特性,它允许你编写可重用的代码,而不需要为每种数据类型重复编写相同的逻辑. 泛型通过参数化类型(type paramete ...
- elasticSearch RangeQuery范围查询from to的理解
elasticSearch RangeQuery范围查询from to的理解 Elasticsearch Guide 选择版本号来查询对应的文档内容:https://www.elastic.co/gu ...
- VIP视频解析
效果图 新建窗口 import tkinter as tk# 创建一个窗口 root = tk.Tk() # 设置窗口大小 root.geometry('700x250+200+200') # 设置标 ...
- fastadmin的导出到excel功能
正常的excel导出没什么问题,最近一直头疼的是怎么导出数据中包含图片,并且图片还是数组?????by user 悦悦 https://www.cnblogs.com/nuanai 1.导出的exce ...
- vue+thinkphp5实现微信扫码支付(NATIVE支付)
前言 统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返回预支付订单号的接口,目前微信支付所有场景均使用这一接口.下面介绍的是其中NATIVE的支付实现流程与PC端实现扫码支付流 ...
- 使用VS Code 学习算法(第四版)
最近在学习算法(第四版),书中一直在使用命令行来执行Java程序,而使用Eclipse时,很难使用命令行,或者说我根本就不会用,于是就想研究一下使用VS Code来编写代码,使用命令行来执行程序.看了 ...
- 用python处理html代码的转义与还原-转
本篇博客来源: 用python处理html代码的转义与还原 'tag>aaa</tag> # 转义还原 str_out = html.unescape(str_out) print( ...
- C#winform软件移植上linux的秘密,用GTK开发System.Windows.Forms
国产系统大势所趋,如果你公司的winform界面软件需要在linux上运行,如果软件是用C#开发的,现在我有一个好的快速解决方案. 世界第一的微软的Microsoft Visual Studio,确实 ...
- yb课堂 用户模块个人中心 《四十一》
Personal.vue <template> <div> <div class="container"> <div class=&quo ...