php树状图怎么设置,有什么好的学习app?
“聚好学”是海信旗下汇聚国内外教育资源的在线学习平台,以优质教学资源+服务为核心,覆盖从幼儿到成人的全年龄段名校、名师精品课程,以多屏互动、移动学习、自适应推送为基本理念,让无论学龄儿童和青少年,还是职场人士和中老年人,都能通过“聚好学”体验到优质的教育资源。
软件适用于安卓手机端,留言获取软件
聚好学内容覆盖全龄用户群体,包括学前、小学、初中、高中、职业、语言、兴趣、老年八大领域。来自全世界教育行业的优秀教育机构为聚好看教育(聚好学)提供优质内容;小初高频道的特高级教师占比83%,重点名校一级教师占比97.2%,打造小初高全体系课程,涵盖预习课程、同步课程、复习课程,完全满足学生课外辅导所需。
获取软件后直接下载到手机里,第一次打开软件需要选择学习年级,软件包含学前、小学、初中、高中、职业、语言、健身、老年八大领域供选选择,选好以后在软件的左上角频道可以任意切换
软件特色
1、幼儿识字、儿歌、英语、童话等多套精彩动画,宝宝假期生活更有趣
2、小学、初中、高中全部年级名校名师课程,多版本覆盖,查漏补缺,高效提分
3、英语、老年广场舞、职业、健身等新教程同步上线,业余学习、娱乐多姿多彩
4、优化课程详情及播放页面,简化操作流程,使用更加便捷,体验更加舒心
功能特点
1、汇聚细分领域内教育机构和品牌的课程资源,对不同地理区域、教材版本、考试类型等差异性需求实现全覆盖。
2、学前、小学、初中、高中、英语、兴趣、职业七大角色分众运营,29个频道精细划分,匹配个性化学习内容。
3、一键投屏功能,可随时将手机上的视频同步到电视端聚好学,小屏的灵动性与大屏的高清体验完美结合。
4、云账号支持多终端登录及课程共享,无论在电视、盒子、平板还是运营商平台上购买的课程,均可以在手机端同步查看,移动学习方便快捷。
软件无需登录即可使用,想登录也可注册了登录,所有视频免费观看,还可以下载了观看,大家可以按照自己需求选择~
需要的留言哦~
可视化编程软件有哪些好的推荐?
python了解一下
全文超过6W子,只能贴出部分,全文可私信小编获取
目录准备工作一、关联(Correlation)关系图1、散点图(Scatter plot)2、边界气泡图(Bubble plot with Encircling)3、散点图添加趋势线(Scatter plot with linear regression line of best fit)4、分面散点图添加趋势线(Each regression line in its own column)5、抖动图(Jittering with stripplot)6、计数图(Counts Plot)7、边缘直方图(Marginal Histogram)8、边缘箱图(Marginal Boxplot)9、相关性热图(Correllogram)10、矩阵图 (Pairwise Plot)二、偏差 (Deviation)关系图11、发散型柱形图 (Diverging Bars)12、发散型文本图(Diverging Texts)-水平方向13、发散型文本图(Diverging Texts)-垂直方向14、发散型点图(Diverging Dot Plot)15、带Marker的发散型棒棒糖图 (Diverging Lollipop Chart with Markers)16、面积图(Area Chart)三、排序 (Ranking)关系图17、排序柱形图(Ordered Bar Chart)18、棒棒糖图(Lollipop Chart)19、点图 (Dot Plot)20、坡图(Slope Chart)21、哑铃图(Dumbbell Plot)四、分布(Distribution)关系图21、连续变量堆积直方图(Stacked Histogram for Continuous Variable)22、类别变量堆积直方图(Stacked Histogram for Categorical Variable)23、密度图(Density Plot)24、带直方图的密度图(Density Curves with Histogram)25、山峰叠峦图(Joy Plot)26、分布点图(Distributed Dot Plot)27、箱图(boxplot)28、箱图结合点图(Dot + Box Plot)29、小提琴图(Violin Plot)30、金字塔图(Population Pyramid)31、分类图(Categorical Plots)五、组成(Composition)关系图32、华夫饼图(Waffle Chart)33、饼图(Pie Chart)34、树状图(Treemap)35、柱状图(Bar Chart)六、变化(Change)关系图36、时间序列图(Time Series Plot)37、波峰和波谷添加注释的时间序列图(Time Series with Peaks and Troughs Annotated)38、自相关和部分自相关图(Autocorrelation (ACF) and Partial Autocorrelation (PACF) Plot)39、交叉相关图(Cross Correlation plot)40、时间序列分解图(Time Series Decomposition Plot)41、多重时间序列图(Multiple Time Series)42、双坐标系时间序列图(Plotting with different scales using secondary Y axis)43、带误差阴影的时间序列图(Time Series with Error Bands)44、堆积面积图(Stacked Area Chart)45、非堆积面积图(Area Chart UnStacked)46、日历热力图(Calendar Heat Map)47、季节图(Seasonal Plot)七、分组( Groups)关系图48、聚类树形图(Dendrogram)49、聚类图(Cluster Plot)50、安德鲁斯曲线(Andrews Curve)51、平行坐标图(Parallel Coordinates)
准备工作主要是导入绘图模块,设置绘图风格。
import numpy as npimport pandas as pdimport matplotlib as mplimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarnings.filterwarnings(action='once')plt.style.use('seaborn-whitegrid')sns.set_style("whitegrid")print(mpl.__version__)print(sns.__version__)
34、树状图(Treemap)类似饼图的效果,面积大小反应变量大小。
!pip install squarify#安装依赖包import squarify# Import Datadf_raw = pd.read_csv("./datasets/mpg_ggplot2.csv")# Prepare Datadf = df_raw.groupby('class').size().reset_index(name='counts')labels = df.apply(lambda x: str(x[0]) + "\n (" + str(x[1]) + ")", axis=1)sizes = df['counts'].values.tolist()colors = [plt.cm.Set2(i / float(len(labels))) for i in range(len(labels))]# Draw Plotplt.figure(figsize=(10, 8), dpi=100)squarify.plot(sizes=sizes, label=labels, color=colors, alpha=.8)# Decorateplt.title('Treemap of Vechile Class')plt.axis('off')plt.show()
35、柱状图(Bar Chart)柱子高度表示变量大小。
import random# Import Datadf_raw = pd.read_csv("./datasets/mpg_ggplot2.csv")# Prepare Datadf = df_raw.groupby('manufacturer').size().reset_index(name='counts')n = df['manufacturer'].unique().__len__() + 1all_colors = list(plt.cm.colors.cnames.keys())random.seed(100)c = random.choices(all_colors, k=n)# Plot Barsplt.figure(figsize=(12, 8), dpi=80)plt.bar(df['manufacturer'], df['counts'], color=c, width=.5)for i, val in enumerate(df['counts'].values):plt.text(i,val,float(val),horizontalalignment='center',verticalalignment='bottom',fontdict={'fontweight': 500,'size': 12})# Decorationplt.gca().set_xticklabels(df['manufacturer'],rotation=60,horizontalalignment='right')plt.title("Number of Vehicles by Manaufacturers", fontsize=18)plt.ylabel('# Vehicles')plt.ylim(0, 45)plt.show()
更多关于柱状图:
「Python可视化|matplotlib12-垂直|水平|堆积条形图详解」六、变化(Change)关系图36、时间序列图(Time Series Plot)¶该图展示给定指标随时间的变化趋势。
# Import Datadf = pd.read_csv('./datasets/AirPassengers.csv')# Draw Plotplt.figure(figsize=(12, 8), dpi=80)plt.plot(df['date'], df['value'], color='#dc2624')# Decorationplt.ylim(50, 750)xtick_location = df.index.tolist()[::12]xtick_labels = [x[-4:] for x in df.date.tolist()[::12]]plt.xticks(ticks=xtick_location,labels=xtick_labels,rotation=0,fontsize=12,horizontalalignment='center',alpha=.7)plt.yticks(fontsize=12, alpha=.7)plt.title("Air Passengers Traffic (1949 1969)", fontsize=18)plt.grid(axis='both', alpha=.3)# Remove bordersplt.gca().spines["top"].set_alpha(0.0)plt.gca().spines["bottom"].set_alpha(0.3)plt.gca().spines["right"].set_alpha(0.0)plt.gca().spines["left"].set_alpha(0.3)plt.show()
37、波峰和波谷添加注释的时间序列图(Time Series with Peaks and Troughs Annotated)# Import Datadf = pd.read_csv('./datasets/AirPassengers.csv')# Get the Peaks and Troughsdata = df['value'].valuesdoublediff = np.diff(np.sign(np.diff(data)))peak_locations = np.where(doublediff == -2)[0] + 1doublediff2 = np.diff(np.sign(np.diff(-1 * data)))trough_locations = np.where(doublediff2 == -2)[0] + 1# Draw Plotplt.figure(figsize=(12, 8), dpi=80)plt.plot('date', 'value', data=df, color='tab:blue', label='Air Traffic')plt.scatter(df.date[peak_locations],df.value[peak_locations],marker=mpl.markers.CARETUPBASE,color='tab:green',s=100,label='Peaks')plt.scatter(df.date[trough_locations],df.value[trough_locations],marker=mpl.markers.CARETDOWNBASE,color='tab:red',s=100,label='Troughs')# Annotatefor t, p in zip(trough_locations[1::5], peak_locations[::3]):plt.text(df.date[p],df.value[p] + 15,df.date[p],horizontalalignment='center',color='darkgreen')plt.text(df.date[t],df.value[t] 35,df.date[t],horizontalalignment='center',color='darkred')# Decorationplt.ylim(50, 750)xtick_location = df.index.tolist()[::6]xtick_labels = df.date.tolist()[::6]plt.xticks(ticks=xtick_location,labels=xtick_labels,rotation=45,fontsize=12,alpha=.7)plt.title("Peak and Troughs of Air Passengers Traffic (1949 1969)",fontsize=18)plt.yticks(fontsize=12, alpha=.7)# Lighten bordersplt.gca().spines["top"].set_alpha(.0)plt.gca().spines["bottom"].set_alpha(.3)plt.gca().spines["right"].set_alpha(.0)plt.gca().spines["left"].set_alpha(.3)plt.legend(loc='upper left')plt.grid(axis='y', alpha=.3)plt.show()
38、自相关和部分自相关图(Autocorrelation (ACF) and Partial Autocorrelation (PACF) Plot)自相关,展示时间序列与其自身滞后的相关性。部分自相关,展示任何给定滞后相对于当前序列的自相关。
from statsmodels.graphics.tsaplots import plot_acf, plot_pacf# Import Datadf = pd.read_csv('./datasets/AirPassengers.csv')# Draw Plotfig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 6), dpi=80)plot_acf(df.value.tolist(), ax=ax1, lags=50)plot_pacf(df.value.tolist(), ax=ax2, lags=20)# Decorate# lighten the bordersax1.spines["top"].set_alpha(.3)ax2.spines["top"].set_alpha(.3)ax1.spines["bottom"].set_alpha(.3)ax2.spines["bottom"].set_alpha(.3)ax1.spines["right"].set_alpha(.3)ax2.spines["right"].set_alpha(.3)ax1.spines["left"].set_alpha(.3)ax2.spines["left"].set_alpha(.3)# font size of tick labelsax1.tick_params(axis='both', labelsize=12)ax2.tick_params(axis='both', labelsize=12)plt.show()
39、交叉相关图(Cross Correlation plot)展示两个时间序列相互之间的滞后。
import statsmodels.tsa.stattools as stattools# Import Datadf = pd.read_csv('./datasets/mortality.csv')x = df['mdeaths']y = df['fdeaths']# Compute Cross Correlationsccs = stattools.ccf(x, y)[:100]nlags = len(ccs)# Compute the Significance level# ref: https://stats.stackexchange.com/questions/3115/cross-correlation-significance-in-r/3128#3128conf_level = 2 / np.sqrt(nlags)# Draw Plotplt.figure(figsize=(12, 7), dpi=80)plt.hlines(0, xmin=0, xmax=100, color='gray') # 0 axisplt.hlines(conf_level, xmin=0, xmax=100, color='gray')plt.hlines(-conf_level, xmin=0, xmax=100, color='gray')plt.bar(x=np.arange(len(ccs)), height=ccs, width=.3)# Decorationplt.title('$Cross\; Correlation\; Plot:\; mdeaths\; vs\; fdeaths,fontsize=18)plt.xlim(0, len(ccs))plt.show()
40、时间序列分解图(Time Series Decomposition Plot)¶该图将时间序列分解为趋势、季节和残差分量(trend, seasonal and residual components.)。
from statsmodels.tsa.seasonal import seasonal_decomposefrom dateutil.parser import parse# Import Datadf = pd.read_csv('./datasets/AirPassengers.csv')dates = pd.DatetimeIndex([parse(d).strftime('%Y-%m-01') for d in df['date']])df.set_index(dates, inplace=True)# Decomposeresult = seasonal_decompose(df['value'], model='multiplicative')# Plotplt.figure(figsize=(12, 7), dpi=80)#plt.rcParams.update({'figure.figsize': (10, 10)})result.plot().suptitle('Time Series Decomposition of Air Passengers')plt.show()
41、多重时间序列图(Multiple Time Series)# Import Datadf = pd.read_csv('./datasets/mortality.csv')# Define the upper limit, lower limit, interval of Y axis and colorsy_LL = 100y_UL = int(df.iloc[:, 1:].max().max() * 1.1)y_interval = 400mycolors = ['tab:red', 'tab:blue', 'tab:green', 'tab:orange']# Draw Plot and Annotatefig, ax = plt.subplots(1, 1, figsize=(10, 6), dpi=80)columns = df.columns[1:]for i, column in enumerate(columns):plt.plot(df.date.values, df[column].values, lw=1.5, color=mycolors[i])plt.text(df.shape[0] + 1,df[column].values[-1],column,fontsize=14,color=mycolors[i])# Draw Tick linesfor y in range(y_LL, y_UL, y_interval):plt.hlines(y,xmin=0,xmax=71,colors='black',alpha=0.3,linestyles="--",lw=0.5)# Decorationsplt.tick_params(axis="both",which="both",bottom=False,top=False,labelbottom=True,left=False,right=False,labelleft=True)# Lighten bordersplt.gca().spines["top"].set_alpha(.3)plt.gca().spines["bottom"].set_alpha(.3)plt.gca().spines["right"].set_alpha(.3)plt.gca().spines["left"].set_alpha(.3)plt.title('Number of Deaths from Lung Diseases in the UK (1974-1979)',fontsize=18)plt.yticks(range(y_LL, y_UL, y_interval),[str(y) for y in range(y_LL, y_UL, y_interval)],fontsize=12)plt.xticks(range(0, df.shape[0], 12),df.date.values[::12],horizontalalignment='left',rotation=45,fontsize=12)plt.ylim(y_LL, y_UL)plt.xlim(-2, 80)plt.show()
42、双坐标系时间序列图(Plotting with different scales using secondary Y axis)# Import Datadf = pd.read_csv("./datasets/economics.csv")x = df['date']y1 = df['psavert']y2 = df['unemploy']# Plot Line1 (Left Y Axis)fig, ax1 = plt.subplots(1, 1, figsize=(12, 6), dpi=100)ax1.plot(x, y1, color='tab:red')# Plot Line2 (Right Y Axis)ax2 = ax1.twinx() # instantiate a second axes that shares the same x-axisax2.plot(x, y2, color='tab:blue')# Decorations# ax1 (left Y axis)ax1.set_xlabel('Year', fontsize=18)ax1.tick_params(axis='x', rotation=70, labelsize=12)ax1.set_ylabel('Personal Savings Rate', color='#dc2624', fontsize=16)ax1.tick_params(axis='y', rotation=0, labelcolor='#dc2624')ax1.grid(alpha=.4)# ax2 (right Y axis)ax2.set_ylabel("# Unemployed (1000's)", color='#01a2d9', fontsize=16)ax2.tick_params(axis='y', labelcolor='#01a2d9')ax2.set_xticks(np.arange(0, len(x), 60))ax2.set_xticklabels(x[::60], rotation=90, fontdict={'fontsize': 10})ax2.set_title("Personal Savings Rate vs Unemployed: Plotting in Secondary Y Axis",fontsize=18)fig.tight_layout()plt.show()
43、带误差阴影的时间序列图(Time Series with Error Bands)from dateutil.parser import parsefrom scipy.stats import sem# Import Datadf_raw = pd.read_csv('./datasets/orders_45d.csv',parse_dates=['purchase_time', 'purchase_date'])# Prepare Data: Daily Mean and SE Bandsdf_mean = df_raw.groupby('purchase_date').quantity.mean()df_se = df_raw.groupby('purchase_date').quantity.apply(sem).mul(1.96)# Plotplt.figure(figsize=(10, 6), dpi=80)plt.ylabel("# Daily Orders", fontsize=12)x = [d.date().strftime('%Y-%m-%d') for d in df_mean.index]plt.plot(x, df_mean, color="#c72e29", lw=2)plt.fill_between(x, df_mean df_se, df_mean + df_se, color="#f8f2e4")# Decorations# Lighten bordersplt.gca().spines["top"].set_alpha(0)plt.gca().spines["bottom"].set_alpha(1)plt.gca().spines["right"].set_alpha(0)plt.gca().spines["left"].set_alpha(1)plt.xticks(x[::6], [str(d) for d in x[::6]], fontsize=12)plt.title("Daily Order Quantity of Brazilian Retail with Error Bands (95% confidence)",fontsize=14)# Axis limitss, e = plt.gca().get_xlim()plt.xlim(s, e 2)plt.ylim(4, 10)# Draw Horizontal Tick linesfor y in range(5, 10, 1):plt.hlines(y,xmin=s,xmax=e,colors='black',alpha=0.5,linestyles="--",lw=0.5)plt.show()
44、堆积面积图(Stacked Area Chart)# Import Datadf = pd.read_csv('./datasets/nightvisitors.csv')# Decide Colors mycolors = ['#dc2624', '#2b4750', '#45a0a2', '#e87a59', '#7dcaa9', '#649E7D', '#dc8018', '#C89F91'] # Draw Plot and Annotatefig, ax = plt.subplots(1,1,figsize=(12, 8), dpi= 80)columns = df.columns[1:]labs = columns.values.tolist()# Prepare datax = df['yearmon'].values.tolist()y0 = df[columns[0]].values.tolist()y1 = df[columns[1]].values.tolist()y2 = df[columns[2]].values.tolist()y3 = df[columns[3]].values.tolist()y4 = df[columns[4]].values.tolist()y5 = df[columns[5]].values.tolist()y6 = df[columns[6]].values.tolist()y7 = df[columns[7]].values.tolist()y = np.vstack([y0, y2, y4, y6, y7, y5, y1, y3])# Plot for each columnlabs = columns.values.tolist()ax = plt.gca()ax.stackplot(x, y, labels=labs, colors=mycolors, alpha=0.8)ax.tick_params(axis='x', rotation=45, labelsize=12)# Decorationsax.set_title('Night Visitors in Australian Regions', fontsize=18)ax.set(ylim=[0, 100000])ax.legend(fontsize=10, ncol=4)plt.xticks(x[::5], fontsize=10, horizontalalignment='center')plt.yticks(np.arange(10000, 100000, 20000), fontsize=10)plt.xlim(x[0], x[-1])# Lighten bordersplt.gca().spines["top"].set_alpha(0)plt.gca().spines["bottom"].set_alpha(.3)plt.gca().spines["right"].set_alpha(0)plt.gca().spines["left"].set_alpha(.3)plt.show()
45、非堆积面积图(Area Chart UnStacked)# Import Datadf = pd.read_csv("./datasets/economics.csv")# Prepare Datax = df['date'].values.tolist()y1 = df['psavert'].values.tolist()y2 = df['uempmed'].values.tolist()columns = ['psavert', 'uempmed']# Draw Plotfig, ax = plt.subplots(1, 1, figsize=(12, 6), dpi=80)ax.fill_between(x,y1=y1,y2=0,label=columns[1],alpha=0.5,color='#dc2624',linewidth=2)ax.fill_between(x,y1=y2,y2=0,label=columns[0],alpha=0.5,color='#649E7D',linewidth=2)# Decorationsax.set_title('Personal Savings Rate vs Median Duration of Unemployment',fontsize=18)ax.set(ylim=[0, 30])ax.legend(loc='best', fontsize=12)plt.xticks(x[::50], fontsize=10, horizontalalignment='center')plt.yticks(np.arange(2.5, 30.0, 2.5), fontsize=10)plt.xlim(-10, x[-1])plt.tick_params(axis='x', rotation=45, labelsize=12)# Draw Tick linesfor y in np.arange(2.5, 30.0, 2.5):plt.hlines(y,xmin=0,xmax=len(x),colors='black',alpha=0.3,linestyles="--",lw=0.5)# Lighten bordersplt.gca().spines["top"].set_alpha(0)plt.gca().spines["bottom"].set_alpha(.3)plt.gca().spines["right"].set_alpha(0)plt.gca().spines["left"].set_alpha(.3)plt.show()
46、日历热力图(Calendar Heat Map)很好地展示数据在假日的趋势。
!pip install calmap -i https://pypi.tuna.tsinghua.edu.cn/simple#安装依赖包import numpy as npnp.random.seed(sum(map(ord, 'calmap')))import pandas as pdimport calmapcalmap.calendarplot(events,monthticks=3,daylabels='MTWTFSS',dayticks=[0, 2, 4, 6],cmap='YlGn',fillcolor='grey',linewidth=0,fig_kws=dict(figsize=(8, 4)))
47、季节图(Seasonal Plot)该图比较某个指标在不同年份同一天/年/月/周等的时间序列的表现。
from dateutil.parser import parse# Import Datadf = pd.read_csv('./datasets/AirPassengers.csv')# Prepare datadf['year'] = [parse(d).year for d in df.date]df['month'] = [parse(d).strftime('%b') for d in df.date]years = df['year'].unique()# Draw Plotmycolors = ['#dc2624', '#2b4750', '#45a0a2', '#e87a59', '#7dcaa9', '#649E7D','#dc8018', '#C89F91', '#6c6d6c', '#4f6268', '#c7cccf', 'firebrick']plt.figure(figsize=(10, 6), dpi=80)for i, y in enumerate(years):plt.plot('month','value',data=df.loc[df.year == y, :],color=mycolors[i],label=y)plt.text(df.loc[df.year == y, :].shape[0] .9,df.loc[df.year == y, 'value'][-1:].values[0],y,fontsize=12,color=mycolors[i])# Decorationplt.ylim(50, 750)plt.xlim(-0.3, 11)plt.ylabel('$Air Traffic)plt.yticks(fontsize=11, alpha=.7)plt.xticks(fontsize=11, alpha=.7)plt.title("Monthly Seasonal Plot: Air Passengers Traffic (1949 1969)",fontsize=16)plt.grid(axis='y', alpha=.3)# Remove bordersplt.gca().spines["top"].set_alpha(0.0)plt.gca().spines["bottom"].set_alpha(0.5)plt.gca().spines["right"].set_alpha(0.0)plt.gca().spines["left"].set_alpha(0.5)# plt.legend(loc='upper right', ncol=2, fontsize=12)plt.show()
七、分组( Groups)关系图48、聚类树形图(Dendrogram)展示通过聚类形成的组内及组间相似性水平。
import scipy.cluster.hierarchy as shc# Import Datadf = pd.read_csv('./datasets/USArrests.csv')# Plotplt.figure(figsize=(12, 8), dpi=80)plt.title("USArrests Dendograms", fontsize=18)dend = shc.dendrogram(shc.linkage(df[['Murder', 'Assault', 'UrbanPop','Rape']],method='ward'),labels=df.State.values,color_threshold=200)plt.xticks(fontsize=12)plt.yticks(fontsize=12)plt.show()
49、聚类图(Cluster Plot)通过聚类计算距离,将同一类圈起来。
from sklearn.cluster import AgglomerativeClusteringfrom scipy.spatial import ConvexHull# Import Datadf = pd.read_csv('./datasets/USArrests.csv')# Agglomerative Clusteringcluster = AgglomerativeClustering(n_clusters=5,affinity='euclidean',linkage='ward')cluster.fit_predict(df[['Murder', 'Assault', 'UrbanPop', 'Rape']])# Plotplt.figure(figsize=(12, 8), dpi=80)plt.scatter(df.iloc[:, 0], df.iloc[:, 1], c=cluster.labels_, cmap='tab10')# Encircledef encircle(x, y, ax=None, **kw):if not ax: ax = plt.gca()p = np.c_[x, y]hull = ConvexHull(p)poly = plt.Polygon(p[hull.vertices, :], **kw)ax.add_patch(poly)# Draw polygon surrounding verticesencircle(df.loc[cluster.labels_ == 0, 'Murder'],df.loc[cluster.labels_ == 0, 'Assault'],ec="k",fc="#dc2624",linewidth=0)encircle(df.loc[cluster.labels_ == 1, 'Murder'],df.loc[cluster.labels_ == 1, 'Assault'],ec="k",fc="#2b4750",linewidth=0)encircle(df.loc[cluster.labels_ == 2, 'Murder'],df.loc[cluster.labels_ == 2, 'Assault'],ec="k",fc="#649E7D",linewidth=0)encircle(df.loc[cluster.labels_ == 3, 'Murder'],df.loc[cluster.labels_ == 3, 'Assault'],ec="k",fc="#C89F91",linewidth=0)encircle(df.loc[cluster.labels_ == 4, 'Murder'],df.loc[cluster.labels_ == 4, 'Assault'],ec="k",fc="#c7cccf",linewidth=0)# Decorationsplt.xlabel('Murder')plt.xticks(fontsize=12)plt.ylabel('Assault')plt.yticks(fontsize=12)plt.title('Agglomerative Clustering of USArrests (5 Groups)', fontsize=18)plt.show()
50、安德鲁斯曲线(Andrews Curve)展示是否存在基于给定分组的特征的固有分组。例如下图,如果数据集中的列不能帮助区分组(cyl),则行将不会被很好地分隔开。
from pandas.plotting import andrews_curves# Importdf = pd.read_csv("./datasets/mtcars.csv")df.drop(['cars', 'carname'], axis=1, inplace=True)# Plotplt.figure(figsize=(10, 6), dpi=80)andrews_curves(df, 'cyl', colormap='Set2_r')# Lighten bordersplt.gca().spines["top"].set_alpha(0)plt.gca().spines["bottom"].set_alpha(.3)plt.gca().spines["right"].set_alpha(0)plt.gca().spines["left"].set_alpha(.3)plt.title('Andrews Curves of mtcars', fontsize=18)plt.xlim(-3, 3)plt.grid(alpha=0.3)plt.xticks(fontsize=12)plt.yticks(fontsize=12)plt.show()
51、平行坐标图(Parallel Coordinates)展示某个特征是否有助于分组。如果一个特征隔离,分组受到影响,则该特征对该分组非常必要。
from pandas.plotting import parallel_coordinates# Import Datadf_final = pd.read_csv("./datasets/diamonds_filter.csv")# Plotplt.figure(figsize=(11, 7), dpi=80)parallel_coordinates(df_final, 'cut', colormap='Set2_r')# Lighten bordersplt.gca().spines["top"].set_alpha(0)plt.gca().spines["bottom"].set_alpha(.3)plt.gca().spines["right"].set_alpha(0)plt.gca().spines["left"].set_alpha(.3)plt.title('Parallel Coordinated of Diamonds', fontsize=18)plt.grid(alpha=0.3)plt.xticks(fontsize=12)plt.yticks(fontsize=12)plt.show()
电脑找软件用什么下载工具好?
XMind ZENXMind ZEN是一款非常实用的思维导图软件,致力于使用先进的软件技术帮助用户真正意义上提高生产率。思维导图软件又名心智图,利用图形结合的方式,呈现出你放射性的思维,助你记忆知识点等等!里面有各种模板,看风格自己选~
总之对我们整理知识点,扩散思维帮助还是挺大的。(文末提供安装包)
QQ影音QQ影音是由腾讯推出的一款支持任何格式影片和音乐文件的本地播放器。时隔几年,QQ影音在前段时间,终于迎来了一次重磅更新。
最新版本的QQ影音保留了以前的多个良心功能:支持视频截图,视频截取动画,视频截取GIF,视频压缩,视频合并,视频转码,视频传输,视频共享等。但是视觉性能全面升级,Logo也发生了改变,整体界面变得更加纯净,界面变得更加好看,软件安装速度也变得很快,而且支持更多视频格式。
格式工厂所有类型视频转到MP4、3GP、AVI、MKV、WMV、MPG、VOB、FLV、SWF、MOV,新版支持RMVB(rmvb需要安装Realplayer或相关的译码器)、xv(迅雷独有的文件格式)转换成其他格式。
所有类型音频转到MP3、WMA、FLAC、AAC、MMF、AMR、M4A、M4R、OGG、MP2、WAV等。
所有类型图片转到JPG、PNG、ICO、BMP、GIF、TIF、PCX、TGA等。
文末提供版本,纯净无广告
火绒安全常见的电脑杀毒软件某60、某管家、某山之类的。当然认识的大部分人都装着这些。每当别人让我帮电脑上弄一点什么的时候,就想把杀软换成火绒。
火绒是一款杀防一体的安全软件。全新的界面,丰富的功能,完美的体验。特别针对国内安全趋势,自主研发高性能病毒通杀引擎,由前瑞星核心研发成员打造。2018年3月5日,火绒宣布关停流量变现业务。通俗差不多就是关闭广告业务。推荐它的最直接的原因就是这个,没有广告软件当然简洁!
杀毒软件最重要的还是杀毒能力。刷知乎看见貌似没有某60强。可都2019了,正常使用也没那么多病毒之类的吧。其实我觉得微软自带的杀毒就够用了,使用了两百多天感觉世界都清净了,你不注意你都不知道还装着个火绒呢!弹窗拦截好评,没有广告好评,不流氓捆绑好评!
CCleaner一般人清理垃圾都是管家清理,上面的火绒的也不错,但是CCleaner是专业户!
它是一款免费的系统优化和隐私保护工具。主要用来清Windows系统不再使用的垃圾文件,释放更多硬盘空间。体积小,运行速度极快,可以对文件夹、历史记录、回收站等进行垃圾清理,而且可对注册表进行垃圾项扫描、清理。
自己电脑一直在使用,开启智能清理后。开机时自动完成清理。无需自己动手。
亨利++非常棒的插件,无需安装,一次点开,终生使用。就简单的数字显示内存占有率。没那么多花里胡哨的东西。清理内存可手动一键清理,也可设置超过多少自动清理!配合前面垃圾清理+杀毒!你的电脑绝对”满血复活“简直了。-->电脑内存清理
Bandizip这个我就不多说,简单点,我见过最好用的压缩软件抱歉没有之一!(可能有其他我没用过的)
手心输入法”无广告,不骚扰“,干净绿色专注于输入本质。以前一直用的搜狗输入法,自从发现这个它。打字清爽了不少。智能纠错,云拼音输入等和搜狗不相上下!
ScreenToGif一个小而实用的屏幕Gif录制工具。当然也可以录视频!
TeamViewerTeamViewer是一个能在任何防火墙和NAT代理的后台用于远程控制的应用程序,桌面共享和文件传输的简单且快速的解决方案。想连接到另一台计算机,只需要在两台计算机上同时运行 TeamViewer 即可。
这个软件最初是我用来帮别人远程解决问题的~后来发现远程的用处真是多多
~自己发掘去~网不是很差的话使用流畅!-->远程控制TeamViewer
国产向日葵也不错 官网网址:https://sunlogin.oray.com/zh_CN/
谷歌浏览器真的好用~完!
导航网址:
https://www.moulem.com/j.html
全局鼠标手势这一个更易用的全局鼠标手势软件。助您化繁为简,将注意力保持在重要的工作上,远离那些繁琐的细节。
相比直接鼠标去点击的优势在于,你在屏幕的任何地方能随时进行操作,而不仅仅局限于一个方框之内。例如,你想关闭某个窗口,鼠标必须移到那个很小的「X」上面去进行点击,而现在只需要在任何地方用鼠标划以下即可。
详见:有毒:全局鼠标手势 ,效率神器
Motrix神器Motrix,满速下载百度云资料和支持磁力链接,BT种子的下载!和之前推过的Pandownl配合使用效果更佳。三款神器全方面解决网盘限速问题
前提条件:使用的是chorme浏览器。
先安装Motrix,这个简单双击安装包直接装就行。
接下来在谷歌浏览器中装一个插件。右上角——>更多工具——>扩展程序——>开发者模式——>加载好的插件文件夹
打开要下载的文件,提前打开Motrix,如图会出现MO.app,选择文件点使用MO下载。ok
印象笔记如果你正要找记笔记的软件的话,那正好!不吹,我用的还行,可以一试!
#所有软件都是相对好用的不绝对,可能有比这些推荐的更好的!有待发现~(PS:我用软件的第一标准就是,够干净,够整洁。感谢支持!
)
获取全部软件公众号后台回复“190308”
公众号:Simple科技
专注于分享简单好用的软件|网站|技巧!