Before we start

My chinese skills are poor and biased. I did learn during my internship and I continue to study while I can translate "last year our exports were 19,000 USD million" but I don't know all the colors.

I will use this dataset and for the example and you can use any chinese font you want. In this example I'm using Adobe Heiti.

Initial setup

These are the necessary libraries and I did read directly from the xlsx file before defining levels, labels and colors.

library(XLConnect)
library(ggplot2)
library(RColorBrewer)
library(scales)
library(plyr)
library(forcats) file <- paste0(getwd(),"/ggplot2_chinese/trade_data_chile_china.xlsx") data <- readWorksheetFromFile(file, sheet = "Sheet1", region = "A3:K13", header = TRUE)
data2 <- readWorksheetFromFile(file, sheet = "Sheet1", region = "A17:F27", header = TRUE)
data3 <- readWorksheetFromFile(file, sheet = "Sheet1", region = "A30:C35", header = TRUE)
data4 <- readWorksheetFromFile(file, sheet = "Sheet1", region = "A39:E59", header = TRUE)
data5 <- readWorksheetFromFile(file, sheet = "Sheet1", region = "A62:G72", header = TRUE)
data6 <- readWorksheetFromFile(file, sheet = "Sheet1", region = "A75:C125", header = TRUE) data <- as.data.frame(data)
data2 <- as.data.frame(data2)
data3 <- as.data.frame(data3)
data3$country <- factor(data3$country, levels = c("china","usa","eu","japan","korea"), labels = c("中国","美国","欧盟","日本","朝鲜"))
data4 <- as.data.frame(data4)
data4$product <- factor(data4$product, levels = c("copper","others"), labels = c("铜","木浆, 水果, 鱒屬和等产品"))
data4 <- ddply(data4, .(year), transform, pos = cumsum(percentage) - (0.5 * percentage))
data4 <- ddply(data4, .(year), transform, pos2 = cumsum(exports) - (0.5 * exports))
data5 <- as.data.frame(data5)
data6 <- as.data.frame(data6)
data6$product <- factor(data6$product, levels=c("fruits", "processedfoods", "bottledwine", "salmon", "forestryandfurniture"), labels=c("水果", "再制", "瓶装酒", "鱒屬", "林业和木家具")) brewer.pal(8, "Paired")
[1] "#A6CEE3" "#1F78B4" "#B2DF8A" "#33A02C" "#FB9A99" "#E31A1C" "#FDBF6F"
[8] "#FF7F00"
cbPalette <- c("#1F78B4", "#E69F00", "#56B4E9", "#009E73", "#F0E442", "#556b2f", "#D55E00", "#CC79A7")
cbPalette2 <- c("#4169e1", "#d68a59","#556b2f", "#FB9A99", "#33A02C")
cbPalette3 <- c("#F0E442", "#56B4E9")

The charts

Here are different charts that I did create during my internship. These charts are actually "updated" as we still don't have 2016 official trade reports.

I will show how to use the new subtitles functionality in ggplot2 v2.2.0.

g1 <- ggplot() +
geom_bar(aes(y = percentage, x = country, fill = country), data = data3, stat="identity") +
scale_fill_manual(values=cbPalette2) +
geom_text(data=data3, aes(x = country, y = (percentage + 2), label = paste0(percentage,"%")), colour="black", family="AdobeHeitiStd-Regular", size = 5) +
scale_y_continuous(breaks=seq(0,40,5), labels = dollar_format(suffix = "%", prefix = "")) + expand_limits(y=c(0,25)) +
labs(x="",y="百分数") +
theme(panel.background = element_rect(fill="white"), panel.grid = element_line(colour="white")) +
theme(legend.position="none", legend.title = element_blank(), axis.line.x = element_line(size=1.0), axis.line.y = element_line(size=1.0)) +
ggtitle("2015年领先的出口市场",
subtitle = "消息灵通人士: 智利海关总署, 智利中央银行 & 商務處智利中國") +
theme(plot.title=element_text(size=20, family="AdobeHeitiStd-Regular"),
text=element_text(size=18, family="AdobeHeitiStd-Regular"),
axis.text.x=element_text(colour="black"))
g1

g2 <- ggplot() +
geom_bar(aes(y = pcentexports, x = year, fill = "pcentexports"), data = data5, stat="identity") +
scale_fill_manual(values="#4169e1") +
geom_text(data=data5, aes(x = year, y = pcentexports +2, label = paste0(pcentexports,"%")), colour="black", family="AdobeHeitiStd-Regular", size = 5) +
scale_x_continuous(breaks=seq(2006,2015,1)) + scale_y_continuous(breaks=seq(0,25,5), labels = dollar_format(suffix = "%", prefix = "")) +
expand_limits(y=c(0,25)) + labs(x="年",y="百分数") +
theme(panel.background = element_rect(fill="white"), panel.grid = element_line(colour="white")) +
theme(legend.position="none", legend.direction="horizontal", legend.title = element_blank(), axis.line.x = element_line(size=1.0), axis.line.y = element_line(size=1.0)) +
ggtitle("出口中国的产品的结构",
subtitle = "消息灵通人士: 智利海关总署, 智利中央银行 & 商務處智利中國") +
theme(plot.title=element_text(size=20, family="AdobeHeitiStd-Regular"), text=element_text(size=18, family="AdobeHeitiStd-Regular"))
g2

g3 <- ggplot() +
geom_bar(aes(y = pcentimports, x = year, fill = "pcentimports"), data = data5, stat="identity") +
scale_fill_manual(values="#000080") +
geom_text(data=data5, aes(x = year, y = pcentimports +2, label = paste0(pcentimports,"%")), colour="black", family="AdobeHeitiStd-Regular", size = 5) +
scale_x_continuous(breaks=seq(2006,2015,1)) +
scale_y_continuous(breaks=seq(0,25,5), labels = dollar_format(suffix = "%", prefix = "")) +
expand_limits(y=c(0,25)) + labs(x="年",y="百分数") +
theme(panel.background = element_rect(fill="white"), panel.grid = element_line(colour="white")) +
theme(legend.position="none", legend.direction="horizontal", legend.title = element_blank(), axis.line.x = element_line(size=1.0), axis.line.y = element_line(size=1.0)) +
ggtitle("进口中国的产品的结构",
subtitle = "消息灵通人士: 智利海关总署, 智利中央银行 & 商務處智利中國") +
theme(plot.title=element_text(size=20, family="AdobeHeitiStd-Regular"), text=element_text(size=18, family="AdobeHeitiStd-Regular"))
g3

g4 <- ggplot() +
geom_bar(aes(y = percentage, x = year, fill = fct_rev(product)), data = data4, stat="identity") +
scale_fill_manual(values=cbPalette3) + geom_text(data=data4, aes(x = year, y = pos, label = paste0(percentage,"%")), colour="black", family="AdobeHeitiStd-Regular", size = 4) +
scale_x_continuous(breaks=seq(2006,2015,1)) +
scale_y_continuous(labels = dollar_format(suffix = "%", prefix = "")) +
labs(x="年", y="百分数") + theme(panel.background = element_rect(fill="white"), panel.grid = element_line(colour="white")) +
theme(legend.position="bottom", legend.direction="horizontal", legend.title = element_blank(), axis.line.x = element_line(size=1.0), axis.line.y = element_line(size=1.0)) +
ggtitle("出口中国结构 (%)",
subtitle = "消息灵通人士: 智利海关总署, 智利中央银行 & 商務處智利中國") +
theme(plot.title=element_text(size=20, family="AdobeHeitiStd-Regular"), text=element_text(size=18, family="AdobeHeitiStd-Regular"))
g4

g5 <- ggplot() +
geom_bar(aes(y = exports, x = year, fill = fct_rev(product)), data = data4, stat="identity") +
scale_fill_manual(values=cbPalette3) + geom_text(data=data4, aes(x = year, y = pos2, label = exports), colour="black", family="AdobeHeitiStd-Regular", size = 4) +
scale_x_continuous(breaks=seq(2006,2015,1)) +
labs(x="年", y="百万美元") +
theme(panel.background = element_rect(fill="white"), panel.grid = element_line(colour="white")) +
theme(legend.position="bottom", legend.direction="horizontal", legend.title = element_blank(), axis.line.x = element_line(size=1.0), axis.line.y = element_line(size=1.0)) +
ggtitle("出口中国结构 ($)",
subtitle = "消息灵通人士: 智利海关总署, 智利中央银行 & 商務處智利中國") +
theme(plot.title=element_text(size=20, family="AdobeHeitiStd-Regular"), text=element_text(size=18, family="AdobeHeitiStd-Regular"))
g5

g6 <- ggplot() +
geom_area(aes(y = exports, x = year, fill = fct_rev(product)), data = data6, stat="identity") +
xlab("年") + ylab("百万美元") +
scale_x_continuous(breaks=seq(2000,2015,3)) +
scale_y_continuous(breaks=seq(0,1600,400)) +
theme(panel.background = element_rect(fill="white"), panel.grid = element_line(colour="white")) +
scale_fill_brewer(palette="Paired") +
theme(legend.position="bottom", legend.direction="horizontal", legend.title = element_blank(), axis.line.x = element_line(size=1.0), axis.line.y = element_line(size=1.0)) +
ggtitle("无铜矿或造纸木材出口中国",
subtitle = "消息灵通人士: 智利海关总署, 智利中央银行 & 商務處智利中國") +
theme(plot.title=element_text(size=20, family="AdobeHeitiStd-Regular"), text=element_text(size=18, family="AdobeHeitiStd-Regular"))
g6

g7 <- ggplot() +
geom_line(aes(y = exportscc, x = year, colour = "exportscc"), size=1.5, data = data, stat="identity") +
geom_line(aes(y = importscc, x = year, colour = "importscc"), size=1.5, data = data, stat="identity") +
xlab("年") + ylab("百万美元") +
scale_x_continuous(breaks=seq(2000,2015,3)) +
scale_y_continuous(breaks=seq(0,20000,5000)) +
expand_limits(y=c(5000,20000)) +
theme(panel.background = element_rect(fill="white"), panel.grid = element_line(colour="white")) +
scale_color_manual(labels = c("出口的产品", "进口产品"), values = c("#4169e1", "#000080")) +
theme(legend.position="bottom", legend.direction="horizontal", legend.title = element_blank(), axis.line.x = element_line(size=1.0), axis.line.y = element_line(size=1.0)) +
ggtitle("商业智利-中国",
subtitle = "消息灵通人士: 智利海关总署, 智利中央银行 & 商務處智利中國") +
theme(plot.title=element_text(size=20, family="AdobeHeitiStd-Regular"), text=element_text(size=18, family="AdobeHeitiStd-Regular")) + guides(col = guide_legend(nrow = 2))
g7

g8 <- ggplot() +
geom_line(aes(y = exportscusa, x = year, colour = "exportscusa"), size=1.5, data = data, stat="identity") +
geom_line(aes(y = importscusa, x = year, colour = "importscusa"), size=1.5, data = data, stat="identity") +
xlab("年") + ylab("百万美元") +
scale_x_continuous(breaks=seq(2000,2015,3)) +
scale_y_continuous(breaks=seq(0,20000,5000)) +
expand_limits(y=c(5000,20000)) +
theme(panel.background = element_rect(fill="white"), panel.grid = element_line(colour="white")) +
scale_color_manual(labels = c("出口的产品", "进口产品"), values = c("#a0522d", "#E18942")) +
theme(legend.position="bottom", legend.direction="horizontal", legend.title = element_blank(), axis.line.x = element_line(size=1.0), axis.line.y = element_line(size=1.0)) +
ggtitle("商业智利-美国",
subtitle = "消息灵通人士: 智利海关总署, 智利中央银行 & 商務處智利中國") +
theme(plot.title=element_text(size=20, family="AdobeHeitiStd-Regular"), text=element_text(size=18, family="AdobeHeitiStd-Regular")) +
guides(col = guide_legend(nrow = 2))
g8

g9 <- ggplot() +
geom_line(aes(y = exportsceu, x = year, colour = "exportsceu"), size=1.5, data = data, stat="identity") +
geom_line(aes(y = importsceu, x = year, colour = "importsceu"), size=1.5, data = data, stat="identity") +
xlab("年") + ylab("百万美元") +
scale_x_continuous(breaks=seq(2000,2015,3)) +
scale_y_continuous(breaks=seq(0,20000,5000)) +
expand_limits(y=c(5000,20000)) +
theme(panel.background = element_rect(fill="white"), panel.grid = element_line(colour="white")) +
scale_color_manual(labels = c("出口的产品", "进口产品"), values = c("#556b2f", "#2f556b")) +
theme(legend.position="bottom", legend.direction="horizontal", legend.title = element_blank(), axis.line.x = element_line(size=1.0), axis.line.y = element_line(size=1.0)) +
ggtitle("商业智利-欧盟",
subtitle = "消息灵通人士: 智利海关总署, 智利中央银行 & 商務處智利中國") +
theme(plot.title=element_text(size=20, family="AdobeHeitiStd-Regular"), text=element_text(size=18, family="AdobeHeitiStd-Regular")) +
guides(col = guide_legend(nrow = 2))
g9

g10 <- ggplot() +
geom_line(aes(y = bccc, x = year, colour = "bccc"), size=1.5, data = data2, stat="identity") +
geom_line(aes(y = bccw, x = year, colour = "bccw"), size=1.5, data = data2, stat="identity") +
xlab("年") + ylab("百万美元") +
scale_x_continuous(breaks=seq(2000,2015,3)) +
theme(panel.background = element_rect(fill="white"), panel.grid = element_line(colour="white")) +
scale_color_manual(labels = c("淨出口中国的产品", "淨出口人间的产品"), values = c("#4169e1", "#FF43A4")) +
theme(legend.position="bottom", legend.direction="horizontal", legend.title = element_blank(), axis.line.x = element_line(size=1.0), axis.line.y = element_line(size=1.0)) +
ggtitle("淨出口中国和人间",
subtitle = "消息灵通人士: 智利海关总署, 智利中央银行 & 商務處智利中國") +
theme(plot.title=element_text(size=20, family="AdobeHeitiStd-Regular"), text=element_text(size=18, family="AdobeHeitiStd-Regular")) + guides(col = guide_legend(nrow = 2))
g10

g11 <- ggplot() +
geom_line(aes(y = bccusa, x = year, colour = "bccusa"), size=1.5, data = data2, stat="identity") +
geom_line(aes(y = bccw, x = year, colour = "bccw"), size=1.5, data = data2, stat="identity") +
xlab("年") + ylab("百万美元") +
scale_x_continuous(breaks=seq(2000,2015,3)) + scale_y_continuous(breaks=seq(-10000,25000,5000)) +
expand_limits(y=c(-10000,25000)) +
theme(panel.background = element_rect(fill="white"), panel.grid = element_line(colour="white")) +
scale_color_manual(labels = c("淨出口美国的产品", "淨出口人间的产品"), values = c("#d68a59", "#FF43A4")) +
theme(legend.position="bottom", legend.direction="horizontal", legend.title = element_blank(), axis.line.x = element_line(size=1.0), axis.line.y = element_line(size=1.0)) +
ggtitle("淨出口美国和人间",
subtitle = "消息灵通人士: 智利海关总署, 智利中央银行 & 商務處智利中國") +
theme(plot.title=element_text(size=20, family="AdobeHeitiStd-Regular"), text=element_text(size=18, family="AdobeHeitiStd-Regular")) + guides(col = guide_legend(nrow = 2))
g11

g12 <- ggplot() +
geom_line(aes(y = bcceu, x = year, colour = "bcceu"), size=1.5, data = data2, stat="identity") +
geom_line(aes(y = bccw, x = year, colour = "bccw"), size=1.5, data = data2, stat="identity") +
xlab("年") + ylab("百万美元") +
scale_x_continuous(breaks=seq(2000,2015,3)) +
theme(panel.background = element_rect(fill="white"), panel.grid = element_line(colour="white")) +
scale_color_manual(labels = c("淨出口人间的产品", "淨出口欧盟的产品"), values = c("#FF43A4", "#556b2f"), guide = guide_legend(reverse=TRUE)) +
theme(legend.position="bottom", legend.direction="horizontal", legend.title = element_blank(), axis.line.x = element_line(size=1.0), axis.line.y = element_line(size=1.0)) +
ggtitle("淨出口欧盟和人间",
subtitle = "消息灵通人士: 智利海关总署, 智利中央银行 & 商務處智利中國") +
theme(plot.title=element_text(size=20, family="AdobeHeitiStd-Regular"), text=element_text(size=18, family="AdobeHeitiStd-Regular")) +
guides(col = guide_legend(nrow = 2))
g12

g13 <- ggplot() +
geom_line(aes(y = exportscc, x = year, colour = "exportscc"), size=1.5, data = data, stat="identity") +
geom_line(aes(y = exportscusa, x = year, colour = "exportscusa"), size=1.5, data = data, stat="identity") +
geom_line(aes(y = exportsceu, x = year, colour = "exportsceu"), size=1.5, data = data, stat="identity") +
xlab("年") + ylab("百万美元") +
scale_x_continuous(breaks=seq(2000,2015,3)) + scale_y_continuous(breaks=seq(0,20000,5000)) + expand_limits(y=c(5000,20000)) +
theme(panel.background = element_rect(fill="white"), panel.grid = element_line(colour="white")) +
scale_color_manual(labels = c("中国(第一贸易合作伙伴)出口智利的产品", "美国(第二贸易合作伙伴)出口智利的产品", "欧盟(第三贸易合作伙伴)出口智利的产品"), values = c("#4169e1", "#d68a59","#556b2f")) +
theme(legend.position="bottom", legend.direction="horizontal", legend.title = element_blank(), axis.line.x = element_line(size=1.0), axis.line.y = element_line(size=1.0)) +
ggtitle("出口中国,美国和欧盟的产品",
subtitle = "消息灵通人士: 智利海关总署, 智利中央银行 & 商務處智利中國") +
theme(plot.title=element_text(size=20, family="AdobeHeitiStd-Regular"), text=element_text(size=18, family="AdobeHeitiStd-Regular")) +
guides(col = guide_legend(nrow = 3))
g13

g14 <- ggplot() +
geom_line(aes(y = importscc, x = year, colour = "importscc"), size=1.5, data = data, stat="identity") +
geom_line(aes(y = importscusa, x = year, colour = "importscusa"), size=1.5, data = data, stat="identity") +
geom_line(aes(y = importsceu, x = year, colour = "importsceu"), size=1.5, data = data, stat="identity") +
xlab("年") + ylab("百万美元") +
scale_x_continuous(breaks=seq(2000,2015,3)) +
scale_y_continuous(breaks=seq(4000,20000,4000)) +
expand_limits(y=c(4000,20000)) +
theme(panel.background = element_rect(fill="white"), panel.grid = element_line(colour="white")) +
scale_color_manual(labels = c("中国(第一贸易合作伙伴)进口智利的产品", "美国(第二贸易合作伙伴)进口智利的产品", "欧盟(第三贸易合作伙伴)进口智利的产品"), values = c("#4169e1", "#d68a59","#556b2f")) +
theme(legend.position="bottom", legend.direction="horizontal", legend.title = element_blank(), axis.line.x = element_line(size=1.0), axis.line.y = element_line(size=1.0)) +
ggtitle("从中国,美国和欧盟进口产品",
subtitle = "消息灵通人士: 智利海关总署, 智利中央银行 & 商務處智利中國") +
theme(plot.title=element_text(size=20, family="AdobeHeitiStd-Regular"), text=element_text(size=18, family="AdobeHeitiStd-Regular")) +
guides(col = guide_legend(nrow = 3))
g14

g15 <- ggplot() +
geom_line(aes(y = bccc, x = year, colour = "bccc"), size=1.5, data = data2, stat="identity") +
geom_line(aes(y = bccusa, x = year, colour = "bccusa"), size=1.5, data = data2, stat="identity") +
geom_line(aes(y = bcceu, x = year, colour = "bcceu"), size=1.5, data = data2, stat="identity") +
xlab("年") + ylab("百万美元") +
scale_x_continuous(breaks=seq(2000,2015,3)) +
scale_y_continuous(breaks=seq(-10000,15000,5000)) +
expand_limits(y=c(-10000,15000)) +
theme(panel.background = element_rect(fill="white"), panel.grid = element_line(colour="white")) +
scale_color_manual(labels = c("中国(第一贸易合作伙伴)淨出口智利的产品", "美国(第二贸易合作伙伴)淨出口智利的产品", "欧盟(第三贸易合作伙伴)淨出口智利的产品"), values = c("#4169e1", "#d68a59","#556b2f")) +
theme(legend.position="bottom", legend.direction="horizontal", legend.title = element_blank(), axis.line.x = element_line(size=1.0), axis.line.y = element_line(size=1.0)) +
ggtitle("淨出口中国,美国和欧盟进口产品",
subtitle = "消息灵通人士: 智利海关总署, 智利中央银行 & 商務處智利中國") +
theme(plot.title=element_text(size=20, family="AdobeHeitiStd-Regular"), text=element_text(size=18, family="AdobeHeitiStd-Regular")) +
guides(col = guide_legend(nrow = 3))
g15

转自: http://pacha.hk/ggplot2_chinese.html

Creating beautiful charts in chinese with ggplot2的更多相关文章

  1. R绘图 第九篇:绘制散点图和气泡图(ggplot2)

    绘制散点图(scatterplots)使用geom_point()函数,气泡图(bubblechart)也是一个散点图,只不过点的大小由一个变量(size)来控制.散点图潜在的最大问题是过度绘图:当一 ...

  2. Python框架、库以及软件资源汇总

    转自:http://developer.51cto.com/art/201507/483510.htm 很多来自世界各地的程序员不求回报的写代码为别人造轮子.贡献代码.开发框架.开放源代码使得分散在世 ...

  3. Awesome Python

    Awesome Python  A curated list of awesome Python frameworks, libraries, software and resources. Insp ...

  4. Machine and Deep Learning with Python

    Machine and Deep Learning with Python Education Tutorials and courses Supervised learning superstiti ...

  5. Python开源框架、库、软件和资源大集合

    A curated list of awesome Python frameworks, libraries, software and resources. Inspired by awesome- ...

  6. 【python】Python框架、库和软件资源大全

    很多来自世界各地的程序员不求回报的写代码为别人造轮子.贡献代码.开发框架.开放源代码使得分散在世界各地的程序员们都能够贡献他们的代码与创新. Python就是这样一门受到全世界各地开源社区支持的语言. ...

  7. Python 库汇总英文版

    Awesome Python  A curated list of awesome Python frameworks, libraries, software and resources. Insp ...

  8. Python框架、库和软件资源大全(整理篇)

    有少量修改,请访问原始链接.PythonWIn的exe安装包;http://www.lfd.uci.edu/~gohlke/pythonlibs/ 原文链接:codecloud.net/python- ...

  9. wesome-android

    awesome-android Introduction android libs from github System requirements Android Notice If the lib ...

随机推荐

  1. sqlldr用法

    SQL*LOADER是ORACLE的数据加载工具,通常用来将操作系统文件迁移到ORACLE数据库中.SQL*LOADER是大型数据仓库选择使用的加载方法,因为它提供了最快速的途径(DIRECT,PAR ...

  2. Python isinstance

    语法:isinstance(object,type) 作用:来判断一个对象是否是一个已知的类型. 其第一个参数(object)为对象,第二个参数(type)为类型名(int...)或类型名的一个列表( ...

  3. js 计时器小练-20160601

    今天要做一个计时器小练,所以我就做了练习,代码如下. // 初始化时间,以及定义全局量去接收计时器 var timer = 0; var t; var h, min, sec, millisec; / ...

  4. jdk1.8新特性,还不知道的朋友还不看看,1.9都快出来了

    一.接口的默认方法 Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法,示例如下:代码如下:interface Formula {     ...

  5. mysqldumpslow的使用简介

    mysqldumpslow的使用:比如我们要查询按时间返回前5条日志信息,格式如下:mysqldumpslow -s t -t 5 /var/log/mysql/slowquery_20170303. ...

  6. 我使用的Chrome插件列表

    AdBlock 用来屏蔽广告的,有一些网站会探测出你在使用AdBlock.如果一定要继续浏览的话,你可能需要暂停一下AdBlock Vimium 非常推荐喜欢vim的用户试试看这款插件,它的主要特色是 ...

  7. DirectFB学习笔记三

    本篇目的,通过键盘的esc键控制程序退出.学习输入设备产生事件,接收事件,产生反应. 首先获取输入设备 IDirectFBInputDevice *keyboard = NULL; dfb->G ...

  8. 使用vs code实现git同步

    用了git最方便的就是项目同步管理,回到家打开vscode只需要点击一下pull就能全部同步过来.是不是很方便....毕竟之前我都是拿u盘拷贝回家或者存到云盘再下载下来..   我这里用的是国内的码云 ...

  9. string 学习

    #include <string> 1.取当中某个字符 与传统一样 c[11]="0123456789"; c[1]=1; ps:好慢 .. 会不会GG... #inc ...

  10. PHP中的对象遍历技巧

    PHP中的对象遍历 对象的遍历,主要是指遍历对象中的,对外部可见属性.实际上就是用访问限制符public声明的属性,这点大家肯定很熟悉了.并且,在php中,遍历对象居然与遍历数组一样,都可以用使用fo ...